diff --git a/rc/core/commenting.kak b/rc/core/comment.kak similarity index 52% rename from rc/core/commenting.kak rename to rc/core/comment.kak index 7e89d749..c536ece3 100644 --- a/rc/core/commenting.kak +++ b/rc/core/comment.kak @@ -1,107 +1,107 @@ -## Characters that will be inserted at the beginning of a line to comment -decl str comment_line_chars "#" +## Line comments +decl str comment_line '#' -## Characters that will be used to surround a selection with -decl str-list comment_selection_chars "" +## Block comments +decl str-list comment_block -## Default characters for all languages +## Default comments for all languages hook global BufSetOption filetype=asciidoc %{ - set buffer comment_selection_chars '///:///' + set buffer comment_block '///:///' } hook global BufSetOption filetype=(c|cpp|go|java|javascript|objc|sass|scala|scss|swift) %{ - set buffer comment_line_chars '//' - set buffer comment_selection_chars '/*:*/' + set buffer comment_line '//' + set buffer comment_block '/*:*/' } hook global BufSetOption filetype=(cabal|haskell|moon) %{ - set buffer comment_line_chars '--' + set buffer comment_line '--' } hook global BufSetOption filetype=clojure %{ - set buffer comment_line_chars '#_ ' - set buffer comment_selection_chars '(comment :)' + set buffer comment_line '#_ ' + set buffer comment_block '(comment :)' } hook global BufSetOption filetype=coffee %{ - set buffer comment_selection_chars '###:###' + set buffer comment_block '###:###' } hook global BufSetOption filetype=css %{ - set buffer comment_line_chars '' - set buffer comment_selection_chars '/*:*/' + set buffer comment_line '' + set buffer comment_block '/*:*/' } hook global BufSetOption filetype=d %{ - set buffer comment_line_chars '//' - set buffer comment_selection_chars '/+:+/' + set buffer comment_line '//' + set buffer comment_block '/+:+/' } hook global BufSetOption filetype=(gas|ini) %{ - set buffer comment_line_chars ';' + set buffer comment_line ';' } hook global BufSetOption filetype=haml %{ - set buffer comment_line_chars '-#' + set buffer comment_line '-#' } hook global BufSetOption filetype=html %{ - set buffer comment_line_chars '' - set buffer comment_selection_chars '' + set buffer comment_line '' + set buffer comment_block '' } hook global BufSetOption filetype=latex %{ - set buffer comment_line_chars '%' + set buffer comment_line '%' } hook global BufSetOption filetype=lisp %{ - set buffer comment_line_chars ';' - set buffer comment_selection_chars '#|:|#' + set buffer comment_line ';' + set buffer comment_block '#|:|#' } hook global BufSetOption filetype=lua %{ - set buffer comment_line_chars '--' - set buffer comment_selection_chars '--[[:]]' + set buffer comment_line '--' + set buffer comment_block '--[[:]]' } hook global BufSetOption filetype=markdown %{ - set buffer comment_line_chars '' - set buffer comment_selection_chars '[//]: # (:)' + set buffer comment_line '' + set buffer comment_block '[//]: # (:)' } hook global BufSetOption filetype=perl %{ - set buffer comment_selection_chars '#[:]' + set buffer comment_block '#[:]' } hook global BufSetOption filetype=(pug|rust) %{ - set buffer comment_line_chars '//' + set buffer comment_line '//' } hook global BufSetOption filetype=python %{ - set buffer comment_selection_chars '\'\'\':\'\'\'' + set buffer comment_block '\'\'\':\'\'\'' } hook global BufSetOption filetype=ragel %{ - set buffer comment_line_chars '%%' - set buffer comment_selection_chars '%%{:}%%' + set buffer comment_line '%%' + set buffer comment_block '%%{:}%%' } hook global BufSetOption filetype=ruby %{ - set buffer comment_selection_chars '^begin=:^=end' + set buffer comment_block '^begin=:^=end' } -def comment-selection -docstring "Comment/uncomment the current selection" %{ +def comment-block -docstring '(un)comment selected lines using block comments' %{ %sh{ exec_proof() { ## Replace the '<' sign that is interpreted differently in `exec` printf %s\\n "$@" | sed 's,<,,g' } - readonly opening=$(exec_proof "${kak_opt_comment_selection_chars%:*}") - readonly closing=$(exec_proof "${kak_opt_comment_selection_chars##*:}") + readonly opening=$(exec_proof "${kak_opt_comment_block%:*}") + readonly closing=$(exec_proof "${kak_opt_comment_block##*:}") if [ -z "${opening}" ] || [ -z "${closing}" ]; then - echo "echo -debug 'The \`comment_selection_chars\` variable is empty, could not comment the selection'" + echo "echo -debug 'The \`comment_block\` variable is empty, could not comment the selection'" exit fi @@ -123,22 +123,22 @@ def comment-selection -docstring "Comment/uncomment the current selection" %{ } } -def comment-line -docstring "Comment/uncomment the current line" %{ +def comment-line -docstring '(un)comment selected lines using line comments' %{ %sh{ - readonly opening="${kak_opt_comment_line_chars}" + readonly opening="${kak_opt_comment_line}" readonly opening_escaped="\\Q${opening}\\E" if [ -z "${opening}" ]; then - echo "echo -debug 'The \`comment_line_chars\` variable is empty, could not comment the line'" + echo "echo -debug 'The \`comment_line\` variable is empty, could not comment the line'" exit fi printf %s\\n "eval -draft %{ - ## Select the content of the line, without indentation - exec I + ## Select the content of the lines, without indentation + exec I try %{ - ## There's no text on the line + ## There’s no text on the line exec \\A[\\h\\v\\n]*\\z try %{