aboutsummaryrefslogtreecommitdiff
path: root/runtime/indent
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2021-04-28 01:55:06 -0400
committerJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2021-04-28 21:29:57 -0400
commit65821cc1b94e3beb2de19e1bb8def3fe6e82bc1f (patch)
tree4595ff953f16ea5ce5846ece82fe25ce53223095 /runtime/indent
parent0185625c04ee736dac36789d0cb590ecde8926e8 (diff)
downloadrneovim-65821cc1b94e3beb2de19e1bb8def3fe6e82bc1f.tar.gz
rneovim-65821cc1b94e3beb2de19e1bb8def3fe6e82bc1f.tar.bz2
rneovim-65821cc1b94e3beb2de19e1bb8def3fe6e82bc1f.zip
vim-patch:388a5d4f20b4
Update runtime files https://github.com/vim/vim/commit/388a5d4f20b4b64341d1604aa238cab85827b892 Omit vim9.
Diffstat (limited to 'runtime/indent')
-rw-r--r--runtime/indent/sshconfig.vim34
-rw-r--r--runtime/indent/testdir/sshconfig.in53
-rw-r--r--runtime/indent/testdir/sshconfig.ok53
3 files changed, 140 insertions, 0 deletions
diff --git a/runtime/indent/sshconfig.vim b/runtime/indent/sshconfig.vim
new file mode 100644
index 0000000000..b456a9e3aa
--- /dev/null
+++ b/runtime/indent/sshconfig.vim
@@ -0,0 +1,34 @@
+" Vim indent file
+" Language: ssh config file
+" Maintainer: JasonKim <git@jasonk.me>
+" Last Change: 2020 May 16
+
+if exists("b:did_indent")
+ finish
+endif
+let b:did_indent = 1
+
+setlocal autoindent
+setlocal indentexpr=GetSshconfigIndent(v:lnum)
+setlocal indentkeys=o,O,*<Return>,0=~host\ ,0=~match\ ,0#,!^F
+
+let b:undo_indent = "setlocal autoindent< indentexpr< indentkeys<"
+
+if exists("*GetSshconfigIndent")
+ finish
+endif
+
+function GetSshconfigIndent(lnum)
+ let sw = shiftwidth()
+ let prev_lnum = prevnonblank(a:lnum - 1)
+ let curr_lnum = a:lnum
+ let prev_line = getline(prev_lnum)
+ let curr_line = getline(curr_lnum)
+ if curr_line =~? '^\s*\(host\|match\)\s'
+ return 0
+ elseif prev_line =~? '^\s*\(host\|match\)\s'
+ return sw
+ else
+ return indent(prev_lnum)
+ endif
+endfunction
diff --git a/runtime/indent/testdir/sshconfig.in b/runtime/indent/testdir/sshconfig.in
new file mode 100644
index 0000000000..87b998e465
--- /dev/null
+++ b/runtime/indent/testdir/sshconfig.in
@@ -0,0 +1,53 @@
+# vim: set filetype=sshconfig shiftwidth=4 expandtab :
+
+# START_INDENT
+Host myhost
+User myuser
+PasswordAuthentication no
+# END_INDENT
+
+# START_INDENT
+Host aaa
+User bbb
+Host ccc
+Host ddd
+# END_INDENT
+
+# START_INDENT
+host aaa
+HOST bbb
+hoSt ccc
+match ddd
+MATCH eee
+MatCH fff
+# END_INDENT
+
+# START_INDENT
+Host aaa
+User host
+PasswordAuthentication no
+Host *
+User user
+PasswordAuthentication no
+Host match
+User bbb
+# END_INDENT
+
+# START_INDENT
+Host tab
+User myuser
+# END_INDENT
+
+# START_INDENT
+Host mix
+User myuser
+# END_INDENT
+
+# START_INDENT
+Host aaa
+User bbb
+Match ccc
+User ddd
+HostKeyAlgorithms ssh-ed25519
+Match eee
+# END_INDENT
diff --git a/runtime/indent/testdir/sshconfig.ok b/runtime/indent/testdir/sshconfig.ok
new file mode 100644
index 0000000000..b24b7cf4e1
--- /dev/null
+++ b/runtime/indent/testdir/sshconfig.ok
@@ -0,0 +1,53 @@
+# vim: set filetype=sshconfig shiftwidth=4 expandtab :
+
+# START_INDENT
+Host myhost
+ User myuser
+ PasswordAuthentication no
+# END_INDENT
+
+# START_INDENT
+Host aaa
+ User bbb
+Host ccc
+Host ddd
+# END_INDENT
+
+# START_INDENT
+host aaa
+HOST bbb
+hoSt ccc
+match ddd
+MATCH eee
+MatCH fff
+# END_INDENT
+
+# START_INDENT
+Host aaa
+ User host
+ PasswordAuthentication no
+Host *
+ User user
+ PasswordAuthentication no
+Host match
+ User bbb
+# END_INDENT
+
+# START_INDENT
+Host tab
+ User myuser
+# END_INDENT
+
+# START_INDENT
+Host mix
+ User myuser
+# END_INDENT
+
+# START_INDENT
+Host aaa
+ User bbb
+Match ccc
+ User ddd
+ HostKeyAlgorithms ssh-ed25519
+Match eee
+# END_INDENT