Merge branch 'sh-insert' of http://github.com/SeerLite/kakoune
This commit is contained in:
commit
4e4a65e944
|
@ -16,6 +16,7 @@ hook global WinSetOption filetype=kak %~
|
||||||
|
|
||||||
set-option window static_words %opt{kak_static_words}
|
set-option window static_words %opt{kak_static_words}
|
||||||
|
|
||||||
|
hook window InsertChar \n -group kak-insert kak-insert-on-new-line
|
||||||
hook window InsertChar \n -group kak-indent kak-indent-on-new-line
|
hook window InsertChar \n -group kak-indent kak-indent-on-new-line
|
||||||
hook window InsertChar [>)}\]] -group kak-indent kak-indent-on-closing-matching
|
hook window InsertChar [>)}\]] -group kak-indent kak-indent-on-closing-matching
|
||||||
hook window InsertChar (?![[{(<>)}\]])[^\s\w] -group kak-indent kak-indent-on-closing-char
|
hook window InsertChar (?![[{(<>)}\]])[^\s\w] -group kak-indent kak-indent-on-closing-char
|
||||||
|
@ -90,10 +91,15 @@ add-highlighter shared/kakrc/single_string/escape regex "''" 0:default+b
|
||||||
# Commands
|
# Commands
|
||||||
# ‾‾‾‾‾‾‾‾
|
# ‾‾‾‾‾‾‾‾
|
||||||
|
|
||||||
define-command -hidden kak-indent-on-new-line %~
|
define-command -hidden kak-insert-on-new-line %~
|
||||||
evaluate-commands -draft -itersel %=
|
evaluate-commands -draft -itersel %=
|
||||||
# copy '#' comment prefix and following white spaces
|
# copy '#' comment prefix and following white spaces
|
||||||
try %{ execute-keys -draft k <a-x> s ^\h*#\h* <ret> y jgh P }
|
try %{ execute-keys -draft k <a-x> s ^\h*#\h* <ret> y jgh P }
|
||||||
|
=
|
||||||
|
~
|
||||||
|
|
||||||
|
define-command -hidden kak-indent-on-new-line %~
|
||||||
|
evaluate-commands -draft -itersel %=
|
||||||
# preserve previous line indent
|
# preserve previous line indent
|
||||||
try %{ execute-keys -draft <semicolon> K <a-&> }
|
try %{ execute-keys -draft <semicolon> K <a-&> }
|
||||||
# cleanup trailing whitespaces from previous line
|
# cleanup trailing whitespaces from previous line
|
||||||
|
|
|
@ -7,6 +7,7 @@ hook global WinSetOption filetype=sh %{
|
||||||
set-option window static_words %opt{sh_static_words}
|
set-option window static_words %opt{sh_static_words}
|
||||||
|
|
||||||
hook window ModeChange pop:insert:.* -group sh-trim-indent sh-trim-indent
|
hook window ModeChange pop:insert:.* -group sh-trim-indent sh-trim-indent
|
||||||
|
hook window InsertChar \n -group sh-insert sh-insert-on-new-line
|
||||||
hook window InsertChar \n -group sh-indent sh-indent-on-new-line
|
hook window InsertChar \n -group sh-indent sh-indent-on-new-line
|
||||||
hook -once -always window WinSetOption filetype=.* %{ remove-hooks window sh-.+ }
|
hook -once -always window WinSetOption filetype=.* %{ remove-hooks window sh-.+ }
|
||||||
}
|
}
|
||||||
|
@ -78,10 +79,15 @@ define-command -hidden sh-trim-indent %{
|
||||||
# Of necessity, this is also fairly opinionated about indentation styles.
|
# Of necessity, this is also fairly opinionated about indentation styles.
|
||||||
# Doing it "properly" would require far more context awareness than we can
|
# Doing it "properly" would require far more context awareness than we can
|
||||||
# bring to this kind of thing.
|
# bring to this kind of thing.
|
||||||
define-command -hidden sh-indent-on-new-line %[
|
define-command -hidden sh-insert-on-new-line %[
|
||||||
evaluate-commands -draft -itersel %[
|
evaluate-commands -draft -itersel %[
|
||||||
# copy '#' comment prefix and following white spaces
|
# copy '#' comment prefix and following white spaces
|
||||||
try %{ execute-keys -draft k <a-x> s ^\h*\K#\h* <ret> y gh j P }
|
try %{ execute-keys -draft k <a-x> s ^\h*\K#\h* <ret> y gh j P }
|
||||||
|
]
|
||||||
|
]
|
||||||
|
|
||||||
|
define-command -hidden sh-indent-on-new-line %[
|
||||||
|
evaluate-commands -draft -itersel %[
|
||||||
# preserve previous line indent
|
# preserve previous line indent
|
||||||
try %{ execute-keys -draft <semicolon> K <a-&> }
|
try %{ execute-keys -draft <semicolon> K <a-&> }
|
||||||
# filter previous line
|
# filter previous line
|
||||||
|
|
Loading…
Reference in New Issue
Block a user