summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/colemak/.gitignore1
-rw-r--r--plugins/colemak/colemak.plugin.zsh13
2 files changed, 13 insertions, 1 deletions
diff --git a/plugins/colemak/.gitignore b/plugins/colemak/.gitignore
new file mode 100644
index 000000000..8241f5ed6
--- /dev/null
+++ b/plugins/colemak/.gitignore
@@ -0,0 +1 @@
+.less
diff --git a/plugins/colemak/colemak.plugin.zsh b/plugins/colemak/colemak.plugin.zsh
index cb7cc5068..8d3393c44 100644
--- a/plugins/colemak/colemak.plugin.zsh
+++ b/plugins/colemak/colemak.plugin.zsh
@@ -19,4 +19,15 @@ bindkey -a 'N' vi-join
bindkey -a 'j' vi-forward-word-end
bindkey -a 'J' vi-forward-blank-word-end
-lesskey $ZSH/plugins/colemak/colemak-less
+# New less versions will read this file directly
+export LESSKEYIN="${0:h:A}/colemak-less"
+
+# Only run lesskey if less version is older than v582
+less_ver=$(less --version | awk '{print $2;exit}')
+autoload -Uz is-at-least
+if ! is-at-least 582 $less_ver; then
+ # Old less versions will read this transformed file
+ export LESSKEY="${0:h:A}/.less"
+ lesskey -o "$LESSKEY" "$LESSKEYIN" 2>/dev/null
+fi
+unset less_ver