@@ -28,13 +28,81 @@ setopt case_glob case_match
28
28
setopt extended_glob
29
29
setopt glob_star_short
30
30
31
- # When Tab-completing a pattern, all matches are placed into a completion menu
32
- # instead of being inserted into the current command line
33
- # setopt glob_complete
34
-
35
31
# ## zstyles - Fine tune completion
36
32
33
+ # General Completer settings
34
+ zstyle ' :completion:*' completer _extensions _expand _complete _ignored _match _approximate
35
+ zstyle ' :completion:predict:*' completer _complete
36
+ zstyle ' :completion::approximate:*' max-errors 3 numeric
37
+ zstyle ' :completion::(match|approximate):*' insert-unambiguous true
38
+ zstyle ' :completion::expand:*' accept-exact true
39
+ zstyle ' :completion::expand:*' add-space file subst
40
+ zstyle ' :completion::expand:*' group-name ' '
41
+ zstyle ' :completion::expand:*' group-order all-expansions expansions original
37
42
zstyle ' :completion:*:*:*:*:*' menu select
38
- zstyle ' :completion:*:options' description yes
43
+ zstyle ' :completion:*:*:*:*:*' single-ignored menu
44
+ zstyle ' :completion::complete:*' use-cache true
45
+
46
+ # Matcher - Case insensitive, then partial-word completion, then substring
47
+ zstyle ' :completion:*' matcher-list ' m:{a-zA-Z}={A-Za-z}' ' r:|[._-]=* r:|=*' ' l:|=* r:|=*'
48
+
49
+ # Formatting
50
+ zstyle ' :completion:*:options' description true
39
51
zstyle ' :completion:*:options' auto-description ' %d'
52
+ zstyle ' :completion:*' list-separator ' |'
53
+ zstyle ' :completion:*' format ' %F{green}> > %d%f'
54
+ zstyle ' :completion:*:messages' format ' %F{magenta}> > %d%f'
55
+ zstyle ' :completion:*:warnings' format ' %F{red}> > no matches found!%f'
56
+ zstyle ' :completion:*:(approximate|correct)' format ' %F{yellow}> > %d for %B%o%b (errors: %e)%f'
57
+ zstyle ' :completion:*:*expansions' format ' %F{cyan}> > %d for %B%o%b%f'
58
+ zstyle ' :completion:*:default' list-prompt ' %S%m matches | line %l | %p%s'
59
+ zstyle ' :completion:*:default' select-prompt ' %S%m matches | line %l | %p%s'
60
+
61
+ # Ignored Patterns
62
+ zstyle ' :completion:*:*:(^rm):*:*files' ignored-patterns ' *?.o' ' *?.zwc' ' tags'
63
+ zstyle ' :completion:*:functions' ignored-patterns ' _*'
64
+ zstyle ' :completion:*:users' ignored-patterns avahi bin colord daemon dbus ftp git ' gpm(-root)?' http mail nobody polkitd sshd ' systemd-*' uuidd
65
+
66
+ # Ignore duplicate elements
67
+ zstyle ' :completion:*:(rm|kill|*diff):*' ignore-line other
68
+
69
+ # Behavior
70
+ # Group builtins with external commands to condense
71
+ zstyle ' :completion:*:*:-command-:*:*' group-name ' '
72
+ zstyle ' :completion:*:*:-command-:*:builtins' group-name ' commands'
73
+ zstyle ' :completion:*:*:-command-:*:*' group-order functions aliases commands
74
+
75
+ # Only complete parameters we're completing at a $ in a subscript
76
+ zstyle ' :completion:*:*:-subscript-:*' tag-order indexes parameters
77
+
78
+ # Directories
79
+ zstyle ' :completion:*' ignore-parents parent pwd
80
+ zstyle ' :completion:*' squeeze-slashes true
81
+ zstyle ' :completion:*:*:cd:*' tag-order local-directories directory-stack path-directories
82
+ zstyle ' :completion:*:*:-tilde-:*' group-name ' '
83
+ zstyle ' :completion:*:*:-tilde-:*' group-order users named-directories
84
+ zstyle ' :completion:*:*:-tilde-:*' tag-order ' users named-directories'
85
+
86
+ # Use menu selection when the list of matches fits on screen, otherwise use
87
+ # menu completion to prevent scrolling
88
+ zstyle ' :completion:*:*:cd:*:directory-stack' menu true=long select
89
+
90
+ # Processes
91
+ zstyle ' :completion:*:*:kill:*' group-name ' '
92
+ zstyle ' :completion:*:*:kill:*' group-order processes process-groups
93
+ zstyle ' :completion:*:*:kill:*' tag-order ' processes process-groups'
94
+ zstyle ' :completion:*:jobs' list-colors ' no=34'
95
+ zstyle ' :completion:*:processes' list-colors " =* $USER *=32"
96
+ zstyle ' :completion:*:processes' command " ps -e"
97
+ zstyle ' :completion:*:*:kill:*:processes' command " ps -u $USER "
98
+
99
+ # History
100
+ zstyle ' :completion:history-words:*' stop true
101
+ zstyle ' :completion:history-words:*' list false
102
+ zstyle ' :completion:history-words:*' remove-all-dups true
103
+
104
+ # Man Pages
105
+ zstyle ' :completion:*:manuals.*' group-name ' '
106
+ zstyle ' :completion:*:manuals' separate-sections true
107
+ zstyle ' :completion:*:manuals.(^1*)' insert-sections true
40
108
0 commit comments