Mercurial > vim
annotate runtime/indent/eiffel.vim @ 33293:42b89193ab3e v9.0.1912
patch 9.0.1912: Cirrus-CI running out of credits
Commit: https://github.com/vim/vim/commit/6f00d17e8d64ed46c85625e8ac38ed0928b32c58
Author: Christian Brabandt <cb@256bit.org>
Date: Tue Sep 19 20:16:46 2023 +0200
patch 9.0.1912: Cirrus-CI running out of credits
Problem: Cirrus-CI running out of credits
Solution: disable Cirrus-CI for now
We are running out of credits for Cirrus CI already at the middle of the
month and unfortunately this means our CI now consistently fails. This
all hapens because cirrus ci is not enforcing the free-tier limits (see also
https://cirrus-ci.org/blog/2023/07/17/limiting-free-usage-of-cirrus-ci/).
Perhaps at the beginning of the next month we can revisit and
enable just a build without testing it. Hopefully this is won't take
too many credits and we can at least verify that building works.
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 19 Sep 2023 20:30:10 +0200 |
parents | d0a20101ecb2 |
children |
rev | line source |
---|---|
7 | 1 " Vim indent file |
2 " Language: Eiffel | |
3557 | 3 " Maintainer: Jocelyn Fiat <jfiat@eiffel.com> |
26 | 4 " Previous-Maintainer: David Clarke <gadicath@dishevelled.net> |
11160 | 5 " Contributions from: Takuya Fujiwara |
3557 | 6 " Contributions from: Thilo Six |
11160 | 7 " $Date: 2017/03/08 06:00:00 $ |
8 " $Revision: 1.4 $ | |
3557 | 9 " URL: https://github.com/eiffelhub/vim-eiffel |
7 | 10 |
11 " Only load this indent file when no other was loaded. | |
12 if exists("b:did_indent") | |
13 finish | |
14 endif | |
15 let b:did_indent = 1 | |
16 | |
17 setlocal indentexpr=GetEiffelIndent() | |
18 setlocal nolisp | |
19 setlocal nosmartindent | |
20 setlocal nocindent | |
21 setlocal autoindent | |
22 setlocal comments=:-- | |
23 setlocal indentkeys+==end,=else,=ensure,=require,=check,=loop,=until | |
24 setlocal indentkeys+==creation,=feature,=inherit,=class,=is,=redefine,=rename,=variant | |
25 setlocal indentkeys+==invariant,=do,=local,=export | |
26 | |
3557 | 27 let b:undo_indent = "setl smartindent< indentkeys< indentexpr< autoindent< comments< " |
28 | |
7 | 29 " Define some stuff |
30 " keywords grouped by indenting | |
31 let s:trust_user_indent = '\(+\)\(\s*\(--\).*\)\=$' | |
11160 | 32 let s:relative_indent = '^\s*\(deferred\|class\|feature\|creation\|inherit\|loop\|from\|across\|until\|if\|else\|elseif\|ensure\|require\|check\|do\|local\|invariant\|variant\|rename\|redefine\|do\|export\)\>' |
7 | 33 let s:outdent = '^\s*\(else\|invariant\|variant\|do\|require\|until\|loop\|local\)\>' |
34 let s:no_indent = '^\s*\(class\|feature\|creation\|inherit\)\>' | |
35 let s:single_dent = '^[^-]\+[[:alnum:]]\+ is\(\s*\(--\).*\)\=$' | |
36 let s:inheritance_dent = '\s*\(redefine\|rename\|export\)\>' | |
37 | |
38 | |
39 " Only define the function once. | |
40 if exists("*GetEiffelIndent") | |
41 finish | |
42 endif | |
3557 | 43 |
3526
dd6c2497c997
Fix more 'cpo' issues in runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
44 let s:keepcpo= &cpo |
dd6c2497c997
Fix more 'cpo' issues in runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
45 set cpo&vim |
7 | 46 |
47 function GetEiffelIndent() | |
48 | |
49 " Eiffel Class indenting | |
50 " | |
51 " Find a non-blank line above the current line. | |
52 let lnum = prevnonblank(v:lnum - 1) | |
53 | |
54 " At the start of the file use zero indent. | |
55 if lnum == 0 | |
56 return 0 | |
57 endif | |
58 | |
59 " trust the user's indenting | |
60 if getline(lnum) =~ s:trust_user_indent | |
61 return -1 | |
62 endif | |
63 | |
64 " Add a 'shiftwidth' after lines that start with an indent word | |
65 let ind = indent(lnum) | |
66 if getline(lnum) =~ s:relative_indent | |
11160 | 67 let ind = ind + shiftwidth() |
7 | 68 endif |
69 | |
70 " Indent to single indent | |
71 if getline(v:lnum) =~ s:single_dent && getline(v:lnum) !~ s:relative_indent | |
72 \ && getline(v:lnum) !~ '\s*\<\(and\|or\|implies\)\>' | |
11160 | 73 let ind = shiftwidth() |
7 | 74 endif |
75 | |
76 " Indent to double indent | |
77 if getline(v:lnum) =~ s:inheritance_dent | |
11160 | 78 let ind = 2 * shiftwidth() |
7 | 79 endif |
80 | |
81 " Indent line after the first line of the function definition | |
82 if getline(lnum) =~ s:single_dent | |
11160 | 83 let ind = ind + shiftwidth() |
7 | 84 endif |
85 | |
86 " The following should always be at the start of a line, no indenting | |
87 if getline(v:lnum) =~ s:no_indent | |
88 let ind = 0 | |
89 endif | |
90 | |
91 " Subtract a 'shiftwidth', if this isn't the first thing after the 'is' | |
92 " or first thing after the 'do' | |
93 if getline(v:lnum) =~ s:outdent && getline(v:lnum - 1) !~ s:single_dent | |
94 \ && getline(v:lnum - 1) !~ '^\s*do\>' | |
11160 | 95 let ind = ind - shiftwidth() |
7 | 96 endif |
97 | |
98 " Subtract a shiftwidth for end statements | |
99 if getline(v:lnum) =~ '^\s*end\>' | |
11160 | 100 let ind = ind - shiftwidth() |
7 | 101 endif |
102 | |
103 " set indent of zero end statements that are at an indent of 3, this should | |
104 " only ever be the class's end. | |
11160 | 105 if getline(v:lnum) =~ '^\s*end\>' && ind == shiftwidth() |
7 | 106 let ind = 0 |
107 endif | |
108 | |
109 return ind | |
110 endfunction | |
111 | |
3526
dd6c2497c997
Fix more 'cpo' issues in runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
112 let &cpo = s:keepcpo |
dd6c2497c997
Fix more 'cpo' issues in runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
113 unlet s:keepcpo |
dd6c2497c997
Fix more 'cpo' issues in runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
114 |
7 | 115 " vim:sw=2 |