annotate runtime/indent/sass.vim @ 33480:f8dd278ab05f v9.0.1991

patch 9.0.1991: no cmdline completion for setting the font Commit: https://github.com/vim/vim/commit/290b887e8cc2c0d3dfc7f315b2052472c7c589cc Author: Yee Cheng Chin <ychin.git@gmail.com> Date: Thu Oct 5 20:54:21 2023 +0200 patch 9.0.1991: no cmdline completion for setting the font Problem: no cmdline completion for setting the font Solution: enable it on Win32 and GTK builds Add guifont cmdline completion (for Windows and GTK) For Windows, auto-complete will only suggest monospace fonts as that's the only types allowed. Will also suggest font options after the colon, including suggesting the current font size for convenience, and misc charset and quality options like `cANSI` and `qCLEARTYPE`. For GTK, auto-complete will suggest only monospace fonts for `guifont` but will include all fonts for `guifontwide`. The completion code doesn't currently suggest the current font size, as the GTK guifont format does not have a clear delimiter (':' for other platforms). closes: #13264 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
author Christian Brabandt <cb@256bit.org>
date Thu, 05 Oct 2023 21:00:07 +0200
parents dce918af0c00
children 92fd65eac53a
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>
28141
dce918af0c00 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 11518
diff changeset
4 " Last Change: 2022 Mar 15
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
28141
dce918af0c00 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 11518
diff changeset
15 let b:undo_indent = "setl ai< inde< indk<"
dce918af0c00 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 11518
diff changeset
16
1668
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
17 " Only define the function once.
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
18 if exists("*GetSassIndent")
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
19 finish
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
20 endif
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
21
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2202
diff changeset
22 let s:property = '^\s*:\|^\s*[[:alnum:]#{}-]\+\%(:\|\s*=\)'
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2202
diff changeset
23 let s:extend = '^\s*\%(@extend\|@include\|+\)'
1668
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
24
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
25 function! GetSassIndent()
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
26 let lnum = prevnonblank(v:lnum-1)
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
27 let line = substitute(getline(lnum),'\s\+$','','')
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
28 let cline = substitute(substitute(getline(v:lnum),'\s\+$','',''),'^\s\+','','')
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
29 let lastcol = strlen(line)
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
30 let line = substitute(line,'^\s\+','','')
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
31 let indent = indent(lnum)
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
32 let cindent = indent(v:lnum)
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2202
diff changeset
33 if line !~ s:property && line !~ s:extend && cline =~ s:property
11518
63b0b7b79b25 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
34 return indent + shiftwidth()
1668
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
35 else
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
36 return -1
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
37 endif
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
38 endfunction
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
39
0b796e045c42 updated for version 7.2b-000
vimboss
parents:
diff changeset
40 " vim:set sw=2: