Mercurial > vim
annotate runtime/indent/sass.vim @ 27970:212c5894b8b1 v8.2.4510
patch 8.2.4510: Vim9: shortening commands leads to confusing script
Commit: https://github.com/vim/vim/commit/204852ae2adfdde10c656ca7f14e5b4207a69172
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Mar 5 12:56:44 2022 +0000
patch 8.2.4510: Vim9: shortening commands leads to confusing script
Problem: Vim9: shortening commands leads to confusing script.
Solution: In Vim9 script require at least ":cont" for ":continue", "const"
instead of "cons", "break" instead of "brea", "catch" instead of
"cat", "else" instead of "el" "elseif" instead of "elsei" "endfor"
instead of "endfo" "endif" instead of "en" "endtry" instead of
"endt", "finally" instead of "fina", "throw" instead of "th",
"while" instead of "wh".
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 05 Mar 2022 14:00:03 +0100 |
parents | 63b0b7b79b25 |
children | dce918af0c00 |
rev | line source |
---|---|
1668 | 1 " Vim indent file |
2202 | 2 " Language: Sass |
3 " Maintainer: Tim Pope <vimNOSPAM@tpope.org> | |
11518 | 4 " Last Change: 2017 Jun 13 |
1668 | 5 |
6 if exists("b:did_indent") | |
7 finish | |
8 endif | |
9 let b:did_indent = 1 | |
10 | |
11 setlocal autoindent sw=2 et | |
12 setlocal indentexpr=GetSassIndent() | |
13 setlocal indentkeys=o,O,*<Return>,<:>,!^F | |
14 | |
15 " Only define the function once. | |
16 if exists("*GetSassIndent") | |
17 finish | |
18 endif | |
19 | |
4681
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
2202
diff
changeset
|
20 let s:property = '^\s*:\|^\s*[[:alnum:]#{}-]\+\%(:\|\s*=\)' |
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
2202
diff
changeset
|
21 let s:extend = '^\s*\%(@extend\|@include\|+\)' |
1668 | 22 |
23 function! GetSassIndent() | |
24 let lnum = prevnonblank(v:lnum-1) | |
25 let line = substitute(getline(lnum),'\s\+$','','') | |
26 let cline = substitute(substitute(getline(v:lnum),'\s\+$','',''),'^\s\+','','') | |
27 let lastcol = strlen(line) | |
28 let line = substitute(line,'^\s\+','','') | |
29 let indent = indent(lnum) | |
30 let cindent = indent(v:lnum) | |
4681
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
2202
diff
changeset
|
31 if line !~ s:property && line !~ s:extend && cline =~ s:property |
11518 | 32 return indent + shiftwidth() |
1668 | 33 else |
34 return -1 | |
35 endif | |
36 endfunction | |
37 | |
38 " vim:set sw=2: |