From 33847956d9969866dd8b502ffc88af58d2b427fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Cornell=C3=A0?= Date: Tue, 17 Aug 2021 09:37:01 +0200 Subject: [PATCH] fix(colemak): remove `lesskey` usage in less v582 and newer (#10102) --- plugins/colemak/.gitignore | 1 + plugins/colemak/colemak.plugin.zsh | 13 ++++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 plugins/colemak/.gitignore 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