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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1668
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
1 " Vim indent file
2202
f7579a31705c Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 1668
diff changeset
2 " Language: Sass
f7579a31705c Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 1668
diff changeset
3 " Maintainer: Tim Pope <vimNOSPAM@tpope.org>
11518
63b0b7b79b25 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
4 " Last Change: 2017 Jun 13
1668
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
5
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
6 if exists("b:did_indent")
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
7 finish
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
8 endif
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
9 let b:did_indent = 1
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
10
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
11 setlocal autoindent sw=2 et
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
12 setlocal indentexpr=GetSassIndent()
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
13 setlocal indentkeys=o,O,*<Return>,<:>,!^F
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
14
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
15 " Only define the function once.
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
16 if exists("*GetSassIndent")
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
17 finish
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
18 endif
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
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
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
22
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
23 function! GetSassIndent()
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
24 let lnum = prevnonblank(v:lnum-1)
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
25 let line = substitute(getline(lnum),'\s\+$','','')
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
26 let cline = substitute(substitute(getline(v:lnum),'\s\+$','',''),'^\s\+','','')
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
27 let lastcol = strlen(line)
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
28 let line = substitute(line,'^\s\+','','')
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
29 let indent = indent(lnum)
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
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
63b0b7b79b25 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
32 return indent + shiftwidth()
1668
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
33 else
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
34 return -1
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
35 endif
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
36 endfunction
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
37
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
38 " vim:set sw=2: