Browse Source

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 năm trước cách đây
mục cha
commit
6acf03d9a8
3 tập tin đã thay đổi với 51 bổ sung0 xóa
  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() {
 post_configure() {
     run_replace_in_file "s/define HAVE_PRCTL 1/undef HAVE_PRCTL/" config.h
     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%# '