aboutsummaryrefslogtreecommitdiff
path: root/.config/shell/zsh-fast-syntax-highlighting/:chroma/-precommand.ch
diff options
context:
space:
mode:
authorBlista Kanjo2023-08-02 22:22:54 -0400
committerBlista Kanjo2023-08-02 22:22:54 -0400
commit7e72e9ac87fc1c052726202f84a1e16466e06ad4 (patch)
treeeb35478ad142aa154d80d85aa583500c5eab65b8 /.config/shell/zsh-fast-syntax-highlighting/:chroma/-precommand.ch
parent08e564a8e1d4c13ad4c046ca4bfc9ca7f72373bd (diff)
feat: `zsh` fast-syntax-highlighting plugin
Diffstat (limited to '.config/shell/zsh-fast-syntax-highlighting/:chroma/-precommand.ch')
-rw-r--r--.config/shell/zsh-fast-syntax-highlighting/:chroma/-precommand.ch17
1 files changed, 17 insertions, 0 deletions
diff --git a/.config/shell/zsh-fast-syntax-highlighting/:chroma/-precommand.ch b/.config/shell/zsh-fast-syntax-highlighting/:chroma/-precommand.ch
new file mode 100644
index 0000000..7e85a06
--- /dev/null
+++ b/.config/shell/zsh-fast-syntax-highlighting/:chroma/-precommand.ch
@@ -0,0 +1,17 @@
+# vim:ft=zsh:et:sw=4
+
+local __first_call="$1" __start_pos="$3" __end_pos="$4"
+
+[[ "$__arg_type" = 3 ]] && return 2
+
+(( __first_call )) && {
+ (( __start=__start_pos-${#PREBUFFER}, __end=__end_pos-${#PREBUFFER}, __start >= 0 )) \
+ && reply+=("$__start $__end ${FAST_HIGHLIGHT_STYLES[${FAST_THEME_NAME}precommand]}")
+ (( next_word = (next_word & ~2) | 4 | 1 ))
+} || {
+ return 1
+}
+
+(( this_word = next_word ))
+_start_pos=$_end_pos
+return 0