" Language: Rust
" Author: Chris Morgan <me@chrismorgan.info>
" Last Change: 2023-09-11
+" 2024 Jul 04 by Vim Project: use shiftwidth() instead of hard-coding shifted values (#15138)
+
" For bugs, patches and license go to https://github.com/rust-lang/rust.vim
+" Note: upstream seems umaintained: https://github.com/rust-lang/rust.vim/issues/502
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
" A standalone 'where' adds a shift.
let l:standalone_prevline_where = prevline =~# '\V\^\s\*where\s\*\$'
if l:standalone_prevline_where
- return indent(prevlinenum) + 4
+ return indent(prevlinenum) + shiftwidth()
endif
" Handle where clauses nicely: subsequent values should line up nicely.
let l:scope_start = searchpair('{\|(', '', '}\|)', 'nbW',
\ 's:is_string_comment(line("."), col("."))')
if l:scope_start != 0 && l:scope_start < a:lnum
- return indent(l:scope_start) + 4
+ return indent(l:scope_start) + shiftwidth()
endif
endif
" It's the closing line, dedent it
return 0
else
- return &shiftwidth
+ return shiftwidth()
endif
endif
endif