summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2016-02-03 09:29:01 +0000
committerMaxime Coste <frrrwww@gmail.com>2016-02-03 09:29:01 +0000
commit3e0e32cfbb905704f9fc8d264ece79402adddef3 (patch)
treee4849e30268a421750ef594b5fa1b6ed464d467b
parent14256e49794a86ca475a8a83cebd7cb743fb5263 (diff)
parentdccaaa12d5f1d83ea34d906b819fd63e7a6bedf6 (diff)
Merge remote-tracking branch 'alexherbo2/coffee-rc'
-rw-r--r--rc/extra/coffee.kak20
1 files changed, 14 insertions, 6 deletions
diff --git a/rc/extra/coffee.kak b/rc/extra/coffee.kak
index b7732592..36171ded 100644
--- a/rc/extra/coffee.kak
+++ b/rc/extra/coffee.kak
@@ -1,6 +1,8 @@
# http://coffeescript.org
# ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
+# require commenting.kak
+
# Detection
# ‾‾‾‾‾‾‾‾‾
@@ -50,20 +52,23 @@ addhl -group /coffee/code regex \<(break|case|catch|class|const|continue|debugge
# ‾‾‾‾‾‾‾‾
def -hidden _coffee_filter_around_selections %{
- # remove trailing white spaces
- try %{ exec -draft -itersel <a-x> s \h+$ <ret> d }
+ eval -draft -itersel %{
+ exec <a-x>
+ # remove trailing white spaces
+ try %{ exec -draft s \h + $ <ret> d }
+ }
}
def -hidden _coffee_indent_on_new_line %{
eval -draft -itersel %{
# preserve previous line indent
- try %{ exec -draft <space> K <a-&> }
+ try %{ exec -draft K <a-&> }
# filter previous line
try %{ exec -draft k : _coffee_filter_around_selections <ret> }
# copy '#' comment prefix and following white spaces
- try %{ exec -draft k x s ^\h*\K#\h* <ret> y j p }
- # indent after lines beginning with token and ending with ->
- try %_ exec -draft k x <a-k> ^\h*(case|catch|class|else|finally|for|function|if|switch|try|while|with)|(->)$ <ret> j <a-gt> _
+ try %{ exec -draft k x s ^ \h * \K \# \h * <ret> y j p }
+ # indent after start structure
+ try %{ exec -draft k x <a-k> ^ \h * (case|catch|class|else|finally|for|function|if|switch|try|while|with) \b | (=|->) $ <ret> j <a-gt> }
}
}
@@ -75,6 +80,9 @@ hook global WinSetOption filetype=coffee %{
hook window InsertEnd .* -group coffee-hooks _coffee_filter_around_selections
hook window InsertChar \n -group coffee-indent _coffee_indent_on_new_line
+
+ set window comment_line_chars '#'
+ set window comment_selection_chars '###:###'
}
hook global WinSetOption filetype=(?!coffee).* %{