浏览代码

Ports: Add default zshrc

Previosly we had a very messed up PS1 as the Shell PROMPT is not
unset correctly.

We now provide a default `zshrc` file for the system that uses
sane values for basic categories like aliases, autocompletion and
history management to make the port more usable. It also forces
the prompt to be the default zsh one.
Fabian Dellwing 2 年之前
父节点
当前提交
6acf03d9a8
共有 3 个文件被更改,包括 51 次插入0 次删除
  1. 1 0
      Ports/zsh/.gitignore
  2. 4 0
      Ports/zsh/package.sh
  3. 46 0
      Ports/zsh/zshrc

+ 1 - 0
Ports/zsh/.gitignore

@@ -0,0 +1 @@
+!zshrc

+ 4 - 0
Ports/zsh/package.sh

@@ -13,3 +13,7 @@ pre_configure() {
 post_configure() {
     run_replace_in_file "s/define HAVE_PRCTL 1/undef HAVE_PRCTL/" config.h
 }
+
+post_install() {
+    cp "${PORT_META_DIR}/zshrc" "${SERENITY_INSTALL_ROOT}/etc/"
+}

+ 46 - 0
Ports/zsh/zshrc

@@ -0,0 +1,46 @@
+###############
+# Completions #
+###############
+
+# Completions
+autoload -U compinit
+compinit -C
+
+# Arrow key menu for completions
+zstyle ':completion:*' menu select
+
+# Case-insensitive (all),partial-word and then substring completion
+zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
+
+###########
+# Aliases #
+###########
+
+# Set up aliases
+alias ll='ls -l'
+
+# Autocomplete command line switches for aliases
+setopt completealiases
+
+###########
+# History #
+###########
+
+# number of lines kept in history
+HISTSIZE=1000
+# number of lines saved in the history after logout
+SAVEHIST=1000
+# location of history
+HISTFILE=~/.zsh_history
+# append command to history file once executed
+setopt inc_append_history
+# only show past commands that include the current input
+bindkey "^[[A" history-beginning-search-backward
+bindkey "^[[B" history-beginning-search-forward
+
+########
+# Misc #
+########
+
+# Set prompt
+PROMPT='%m%# '