Mercurial > vim
annotate runtime/indent/cmake.vim @ 34259:70c1a9c6f41d v9.1.0070
patch 9.1.0070: CI: testsuite not run on M1 Mac
Commit: https://github.com/vim/vim/commit/e93d5cadec6323d6be90f1ec29066441ffbc9477
Author: rhysd <lin90162@yahoo.co.jp>
Date: Thu Feb 1 21:22:14 2024 +0100
patch 9.1.0070: CI: testsuite not run on M1 Mac
Problem: CI: testsuite not run on M1 Mac
Solution: Make it run on gh runners for M1, disable failing tests for
now, until we figure the problem with the failings tests out
(rhysd)
closes: #13943
Signed-off-by: rhysd <lin90162@yahoo.co.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 01 Feb 2024 21:30:03 +0100 |
parents | c82f521e9a43 |
children |
rev | line source |
---|---|
836 | 1 " Vim indent file |
2 " Language: CMake (ft=cmake) | |
3 " Author: Andy Cedilnik <andy.cedilnik@kitware.com> | |
12499 | 4 " Maintainer: Dimitri Merejkowsky <d.merej@gmail.com> |
5 " Former Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com> | |
33946
c82f521e9a43
runtime(cmake): sync runtime files with upstream (#13597)
Christian Brabandt <cb@256bit.org>
parents:
28379
diff
changeset
|
6 " Last Change: 2023 Dec 12 |
836 | 7 " |
33946
c82f521e9a43
runtime(cmake): sync runtime files with upstream (#13597)
Christian Brabandt <cb@256bit.org>
parents:
28379
diff
changeset
|
8 " License: The CMake license applies to this file. See |
12499 | 9 " https://cmake.org/licensing |
836 | 10 " This implies that distribution with Vim is allowed |
11 | |
12 if exists("b:did_indent") | |
13 finish | |
14 endif | |
15 let b:did_indent = 1 | |
16 | |
17 setlocal indentexpr=CMakeGetIndent(v:lnum) | |
2249
6d3d35ff2c2b
Use full path in undofile(). Updated docs.
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
18 setlocal indentkeys+==ENDIF(,ENDFOREACH(,ENDMACRO(,ELSE(,ELSEIF(,ENDWHILE( |
836 | 19 |
28379 | 20 let b:undo_indent = "setl inde< indk<" |
21 | |
836 | 22 " Only define the function once. |
23 if exists("*CMakeGetIndent") | |
24 finish | |
25 endif | |
3526
dd6c2497c997
Fix more 'cpo' issues in runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2249
diff
changeset
|
26 let s:keepcpo= &cpo |
dd6c2497c997
Fix more 'cpo' issues in runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2249
diff
changeset
|
27 set cpo&vim |
836 | 28 |
29 fun! CMakeGetIndent(lnum) | |
30 let this_line = getline(a:lnum) | |
31 | |
32 " Find a non-blank line above the current line. | |
33 let lnum = a:lnum | |
34 let lnum = prevnonblank(lnum - 1) | |
35 let previous_line = getline(lnum) | |
36 | |
37 " Hit the start of the file, use zero indent. | |
38 if lnum == 0 | |
39 return 0 | |
40 endif | |
41 | |
42 let ind = indent(lnum) | |
43 | |
44 let or = '\|' | |
45 " Regular expressions used by line indentation function. | |
46 let cmake_regex_comment = '#.*' | |
47 let cmake_regex_identifier = '[A-Za-z][A-Za-z0-9_]*' | |
48 let cmake_regex_quoted = '"\([^"\\]\|\\.\)*"' | |
49 let cmake_regex_arguments = '\(' . cmake_regex_quoted . | |
50 \ or . '\$(' . cmake_regex_identifier . ')' . | |
51 \ or . '[^()\\#"]' . or . '\\.' . '\)*' | |
52 | |
53 let cmake_indent_comment_line = '^\s*' . cmake_regex_comment | |
839 | 54 let cmake_indent_blank_regex = '^\s*$' |
836 | 55 let cmake_indent_open_regex = '^\s*' . cmake_regex_identifier . |
56 \ '\s*(' . cmake_regex_arguments . | |
57 \ '\(' . cmake_regex_comment . '\)\?$' | |
58 let cmake_indent_close_regex = '^' . cmake_regex_arguments . | |
59 \ ')\s*' . | |
60 \ '\(' . cmake_regex_comment . '\)\?$' | |
61 | |
33946
c82f521e9a43
runtime(cmake): sync runtime files with upstream (#13597)
Christian Brabandt <cb@256bit.org>
parents:
28379
diff
changeset
|
62 let cmake_closing_parens_line = '^\s*\()\+\)\s*$' |
836 | 63 |
33946
c82f521e9a43
runtime(cmake): sync runtime files with upstream (#13597)
Christian Brabandt <cb@256bit.org>
parents:
28379
diff
changeset
|
64 let cmake_indent_begin_regex = '^\s*\(BLOCK\|IF\|MACRO\|FOREACH\|ELSE\|ELSEIF\|WHILE\|FUNCTION\)\s*(' |
c82f521e9a43
runtime(cmake): sync runtime files with upstream (#13597)
Christian Brabandt <cb@256bit.org>
parents:
28379
diff
changeset
|
65 let cmake_indent_end_regex = '^\s*\(ENDBLOCK\|ENDIF\|ENDFOREACH\|ENDMACRO\|ELSE\|ELSEIF\|ENDWHILE\|ENDFUNCTION\)\s*(' |
c82f521e9a43
runtime(cmake): sync runtime files with upstream (#13597)
Christian Brabandt <cb@256bit.org>
parents:
28379
diff
changeset
|
66 |
c82f521e9a43
runtime(cmake): sync runtime files with upstream (#13597)
Christian Brabandt <cb@256bit.org>
parents:
28379
diff
changeset
|
67 if this_line =~? cmake_closing_parens_line |
c82f521e9a43
runtime(cmake): sync runtime files with upstream (#13597)
Christian Brabandt <cb@256bit.org>
parents:
28379
diff
changeset
|
68 if previous_line !~? cmake_indent_open_regex |
c82f521e9a43
runtime(cmake): sync runtime files with upstream (#13597)
Christian Brabandt <cb@256bit.org>
parents:
28379
diff
changeset
|
69 let ind = ind - shiftwidth() |
836 | 70 endif |
33946
c82f521e9a43
runtime(cmake): sync runtime files with upstream (#13597)
Christian Brabandt <cb@256bit.org>
parents:
28379
diff
changeset
|
71 else |
c82f521e9a43
runtime(cmake): sync runtime files with upstream (#13597)
Christian Brabandt <cb@256bit.org>
parents:
28379
diff
changeset
|
72 " Add |
c82f521e9a43
runtime(cmake): sync runtime files with upstream (#13597)
Christian Brabandt <cb@256bit.org>
parents:
28379
diff
changeset
|
73 if previous_line =~? cmake_indent_comment_line " Handle comments |
c82f521e9a43
runtime(cmake): sync runtime files with upstream (#13597)
Christian Brabandt <cb@256bit.org>
parents:
28379
diff
changeset
|
74 let ind = ind |
c82f521e9a43
runtime(cmake): sync runtime files with upstream (#13597)
Christian Brabandt <cb@256bit.org>
parents:
28379
diff
changeset
|
75 else |
c82f521e9a43
runtime(cmake): sync runtime files with upstream (#13597)
Christian Brabandt <cb@256bit.org>
parents:
28379
diff
changeset
|
76 if previous_line =~? cmake_indent_begin_regex |
c82f521e9a43
runtime(cmake): sync runtime files with upstream (#13597)
Christian Brabandt <cb@256bit.org>
parents:
28379
diff
changeset
|
77 let ind = ind + shiftwidth() |
c82f521e9a43
runtime(cmake): sync runtime files with upstream (#13597)
Christian Brabandt <cb@256bit.org>
parents:
28379
diff
changeset
|
78 endif |
c82f521e9a43
runtime(cmake): sync runtime files with upstream (#13597)
Christian Brabandt <cb@256bit.org>
parents:
28379
diff
changeset
|
79 if previous_line =~? cmake_indent_open_regex |
c82f521e9a43
runtime(cmake): sync runtime files with upstream (#13597)
Christian Brabandt <cb@256bit.org>
parents:
28379
diff
changeset
|
80 let ind = ind + shiftwidth() |
c82f521e9a43
runtime(cmake): sync runtime files with upstream (#13597)
Christian Brabandt <cb@256bit.org>
parents:
28379
diff
changeset
|
81 endif |
836 | 82 endif |
83 | |
33946
c82f521e9a43
runtime(cmake): sync runtime files with upstream (#13597)
Christian Brabandt <cb@256bit.org>
parents:
28379
diff
changeset
|
84 " Subtract |
c82f521e9a43
runtime(cmake): sync runtime files with upstream (#13597)
Christian Brabandt <cb@256bit.org>
parents:
28379
diff
changeset
|
85 if this_line =~? cmake_indent_end_regex |
c82f521e9a43
runtime(cmake): sync runtime files with upstream (#13597)
Christian Brabandt <cb@256bit.org>
parents:
28379
diff
changeset
|
86 let ind = ind - shiftwidth() |
c82f521e9a43
runtime(cmake): sync runtime files with upstream (#13597)
Christian Brabandt <cb@256bit.org>
parents:
28379
diff
changeset
|
87 endif |
c82f521e9a43
runtime(cmake): sync runtime files with upstream (#13597)
Christian Brabandt <cb@256bit.org>
parents:
28379
diff
changeset
|
88 if previous_line !~? cmake_closing_parens_line |
c82f521e9a43
runtime(cmake): sync runtime files with upstream (#13597)
Christian Brabandt <cb@256bit.org>
parents:
28379
diff
changeset
|
89 if previous_line =~? cmake_indent_close_regex |
c82f521e9a43
runtime(cmake): sync runtime files with upstream (#13597)
Christian Brabandt <cb@256bit.org>
parents:
28379
diff
changeset
|
90 let ind = ind - shiftwidth() |
c82f521e9a43
runtime(cmake): sync runtime files with upstream (#13597)
Christian Brabandt <cb@256bit.org>
parents:
28379
diff
changeset
|
91 endif |
c82f521e9a43
runtime(cmake): sync runtime files with upstream (#13597)
Christian Brabandt <cb@256bit.org>
parents:
28379
diff
changeset
|
92 endif |
836 | 93 endif |
94 | |
95 return ind | |
96 endfun | |
3526
dd6c2497c997
Fix more 'cpo' issues in runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2249
diff
changeset
|
97 |
dd6c2497c997
Fix more 'cpo' issues in runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2249
diff
changeset
|
98 let &cpo = s:keepcpo |
dd6c2497c997
Fix more 'cpo' issues in runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2249
diff
changeset
|
99 unlet s:keepcpo |