summaryrefslogtreecommitdiffstats
path: root/runtime/indent/asm.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/indent/asm.vim')
-rw-r--r--runtime/indent/asm.vim29
1 files changed, 29 insertions, 0 deletions
diff --git a/runtime/indent/asm.vim b/runtime/indent/asm.vim
new file mode 100644
index 0000000..4efa766
--- /dev/null
+++ b/runtime/indent/asm.vim
@@ -0,0 +1,29 @@
+" Vim indent file
+" Language: asm
+" Maintainer: Philip Jones <philj56@gmail.com>
+" Upstream: https://github.com/philj56/vim-asm-indent
+" Last Change: 2017-Jul-01
+" 2024 Apr 25 by Vim Project (undo_indent)
+
+if exists("b:did_indent")
+ finish
+endif
+let b:did_indent = 1
+
+setlocal indentexpr=s:getAsmIndent()
+setlocal indentkeys=<:>,!^F,o,O
+
+let b:undo_indent = "indentexpr< indentkeys<"
+
+function! s:getAsmIndent()
+ let line = getline(v:lnum)
+ let ind = shiftwidth()
+
+ " If the line is a label (starts with ':' terminated keyword),
+ " then don't indent
+ if line =~ '^\s*\k\+:'
+ let ind = 0
+ endif
+
+ return ind
+endfunction