summaryrefslogtreecommitdiffstats
path: root/indent
diff options
context:
space:
mode:
Diffstat (limited to 'indent')
-rw-r--r--indent/ecrystal.vim38
-rw-r--r--indent/rst.vim8
2 files changed, 20 insertions, 26 deletions
diff --git a/indent/ecrystal.vim b/indent/ecrystal.vim
index adf64e89..0d474587 100644
--- a/indent/ecrystal.vim
+++ b/indent/ecrystal.vim
@@ -86,28 +86,20 @@ else
endfunction
endif
-" Does the given pattern match at the cursor's position?
-function s:MatchCursor(pattern)
- return searchpos(a:pattern, 'cnz', line('.')) == [line('.'), col('.')]
-endfunction
-
" Does the given pattern match at the given position?
-function s:MatchAt(lnum, col, pattern)
- let pos = getcurpos()
-
- try
- call cursor(a:lnum, a:col)
- let result = s:MatchCursor(a:pattern)
- finally
- call setpos('.', pos)
- endtry
+function! s:MatchAt(lnum, col, pattern) abort
+ let idx = a:col - 1
+ return match(getline(a:lnum), a:pattern, idx) == idx
+endfunction
- return result
+" Does the given pattern match at the cursor's position?
+function! s:MatchCursor(pattern) abort
+ return s:MatchAt(line('.'), col('.'), a:pattern)
endfunction
" Is the cell at the given position part of a tag? If so, return the
" position of the opening delimiter.
-function s:MatchECR(...)
+function! s:MatchECR(...) abort
if a:0
let lnum = a:1
let col = a:2
@@ -133,7 +125,7 @@ endfunction
" If the cell at the given position is part of a control tag, return the
" respective positions of the opening and closing delimiters for that
" tag.
-function s:MatchECRControl(...)
+function! s:MatchECRControl(...) abort
let pos = getcurpos()
if a:0
@@ -175,7 +167,7 @@ endfunction
" Determine whether or not the control tag at the given position starts
" an indent.
-function s:ECRIndent(...)
+function! s:ECRIndent(...) abort
if a:0
if type(a:1) == 0
let [open, close] = s:MatchECRControl(a:1, a:2)
@@ -237,7 +229,7 @@ endfunction
" Determine if the control tag at the given position ends an indent or
" not.
-function s:ECRDedent(...)
+function! s:ECRDedent(...) abort
if a:0
if type(a:1) == 0
let [open, close] = s:MatchECRControl(a:1, a:2)
@@ -297,7 +289,7 @@ function s:ECRDedent(...)
endfunction
" Find and match a control tag in the given line, if one exists.
-function s:FindECRControl(...)
+function! s:FindECRControl(...) abort
let lnum = a:0 ? a:1 : line('.')
let open = { 'lnum': 0, 'col': 0 }
@@ -324,7 +316,7 @@ endfunction
" This takes two arguments: the first is the line to start searching
" from (exclusive); the second is the line to stop searching at
" (inclusive).
-function s:FindPrevECRControl(...)
+function! s:FindPrevECRControl(...) abort
if a:0 == 0
let start = line('.')
let stop = 1
@@ -369,7 +361,7 @@ endfunction
" GetEcrystalIndent {{{1
" =================
-function GetEcrystalIndent() abort
+function! GetEcrystalIndent() abort
let prev_lnum = prevnonblank(v:lnum - 1)
if b:ecrystal_indent_multiline
@@ -461,7 +453,7 @@ endfunction
" GetEcrystalFold {{{1
" ===============
-function GetEcrystalFold() abort
+function! GetEcrystalFold() abort
let fold = '='
let col = crystal#indent#Match(v:lnum, s:ecr_control_open)
diff --git a/indent/rst.vim b/indent/rst.vim
index 8e228dfe..0eb0f9c6 100644
--- a/indent/rst.vim
+++ b/indent/rst.vim
@@ -1,9 +1,11 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rst') == -1
" Vim indent file
-" Language: reStructuredText Documentation Format
-" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
-" Latest Revision: 2011-08-03
+" Vim reST indent file
+" Language: reStructuredText Documentation Format
+" Maintainer: Marshall Ward <marshall.ward@gmail.com>
+" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
+" Latest Revision: 2020-03-31
if exists("b:did_indent")
finish