summaryrefslogtreecommitdiffstats
path: root/runtime/syntax
AgeCommit message (Collapse)Author
2024-05-01patch 9.1.0386: filetype: stylus files not recognizedv9.1.0386Philip H
Problem: filetype: stylus files not recognized Solution: Detect '*.styl' and '*.stylus' as stylus filetype, include indent, filetype and syntax plugin (Philip H) closes: #14656 Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-29runtime(java): Improve the recognition of the "indent" method declarations ↵Aliaksei Budavei
(#14659) There is a flaw in the current implementation that has been exacerbated around v5.2. It lies in the recognition of all three indentation styles simultaneously: a tab, two space, and eight space character(s). With it, it is not uncommon to misidentify various constructs as method declarations when they belong to two-space indented members and other blocks of a type and are offset at eight space characters or a tab from the start of the line. For example, ------------------------------------------------------------ class Test { static String hello() { return "hello"; } public static void main(String[] args) { try { if (args.length > 0) { // FIXME: eight spaces. System.out.println(args[0]); } else { // FIXME: a tab. System.out.println(hello()); } } catch (Exception e) { throw new Error(e); } } } ------------------------------------------------------------ ------------------------------------------------------------ :let g:java_highlight_functions = 'indent' :doautocmd Syntax ------------------------------------------------------------ A better approach is to pick an only indentation style out of all supported styles (so either two spaces _or_ eight spaces _or_ a tab). Note that tabs and spaces can still be mixed, only the leading tab or the leading run of spaces matters for the recognition. And there is no reason to not complement the set of valid styles with any number of spaces from 1 to 8, inclusively. Please proceed with the necessary change as follows: - rename from "indent" to "indent2" for a 2-space run; - rename from "indent" to "indent8" for an 8-space run; - continue to have "indent" for a tab run; - define an "indent" variable with a suffix number denoting the preferred amount of indentation for any other run of spaces [1-8]. As before, this alternative style of recognition of method declarations still does not prescribe naming conventions and still cannot recognise method declarations in nested types that are conventionally indented. The proposed changes also follow suit of "style" in stopping the claiming of constructor and enum constant declarations. Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-28runtime(ssa): improve syntax file performance (#14654)ObserverOfTime
fixes: #14653 Signed-off-by: ObserverOfTime <chronobserver@disroot.org> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-27runtime(debversions): Add oracular (24.10) as Ubuntu release nameSimon Quigley
closes: #14645 Signed-off-by: Simon Quigley <simon@tsimonq2.net> Signed-off-by: James McCoy <jamessan@jamessan.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-26runtime(jq): include syntax, ftplugin and compiler pluginVito
closes: #14619 Signed-off-by: Vito <vito.blog@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-24runtime(java): Improve the recognition of the "style" method declarationsAliaksei Budavei
- Request the new regexp engine (v7.3.970) for [:upper:] and [:lower:]. - Recognise declarations of in-line annotated methods. - Recognise declarations of _strictfp_ methods. - Establish partial order for method modifiers as shown in the MethodModifier production; namely, _public_ and friends should be written the leftmost, possibly followed by _abstract_ or _default_, or possibly followed by other modifiers. - Stop looking for parameterisable primitive types (void<?>, int<Object>, etc., are malformed). - Stop looking for arrays of _void_. - Acknowledge the prevailing convention for method names to begin with a small letter and for class/interface names to begin with a capital letter; and, therefore, desist from claiming declarations of enum constants and constructors with javaFuncDef. Rationale: + Constructor is distinct from method: * its (overloaded) name is not arbitrary; * its return type is implicit; * its _throws_ clause depends on indirect vagaries of instance (variable) initialisers; * its invocation makes other constructors of its type hierarchy invoked one by one, concluding with the primordial constructor; * its explicit invocation, via _this_ or _super_, can only appear as the first statement in a constructor (not anymore, see JEP 447); else, its _super_ call cannot appear in constructors of _record_ or _enum_; and neither invocation is allowed for the primordial constructor; * it is not a member of its class, like initialisers, and is never inherited; * it is never _abstract_ or _native_. + Constructor declarations tend to be few in number and merit visual recognition from method declarations. + Enum constants define a fixed set of type instances and more resemble class variable initialisers. Note that the code duplicated for @javaFuncParams is written keeping in mind for g:java_highlight_functions a pending 3rd variant, which would require none of the :syn-cluster added groups. closes: #14620 Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-22patch 9.1.0366: filetype: ondir files are not recognizedv9.1.0366Jon Parise
Problem: filetype: ondir files are not recognized Solution: Detect '.ondirrc' as ondir filetype (Jon Parise) closes: #14604 Signed-off-by: Jon Parise <jon@indelible.org> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-21runtime(astro): Add filetype, syntax and indent pluginPhilip H
related: #14558 closes: #14561 ported from: https://github.com/wuelnerdotexe/vim-astro Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-18patch 9.1.0354: runtime(uci): No support for uci file typesv9.1.0354Colin Caine
Problem: runtime(uci): No support for uci file types (Wu, Zhenyu) Solution: include basic uci ftplugin and syntax plugins (Colin Caine) closes: #14575 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu> Signed-off-by: Colin Caine <complaints@cmcaine.co.uk> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-15runtime(i3config/swayconfig): update syntax scriptsJosef Litoš
modifications with the goals of: - simplifying structure by using group `cluster`s - improving visual highlighting responsiveness by using `nextgroup` - improving recursive wm-msg command highlighting - separating command variants meant for runtime and for config only closes: #14544 Signed-off-by: Josef Litoš <54900518+JosefLitos@users.noreply.github.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14patch 9.1.0326: filetype: some requirements files are not recognizedv9.1.0326Wu, Zhenyu
Problem: filetype: some requirements files are not recognized Solution: Detect '*-requirements.txt', 'constraints.txt', 'requirements.in', 'requirements/*.txt' and 'requires/*.txt' as requirements filetype, include pip compiler, include requirements filetype and syntax plugin (Wu, Zhenyu, @raimon49) closes: #14379 Co-authored-by: raimon <raimon49@hotmail.com> Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14patch 9.1.0325: filetype: CMakeCache.txt files not recognizedv9.1.0325Wu, Zhenyu
Problem: filetype: CMakeCache.txt files not recognized Solution: Detect 'CMakeCache.txt' files as cmakecache filetype, include basic syntax script for cmakecache (Wu, Zhenyu, @bfrg) closes: #14384 Co-authored-by: bfrg <bfrg@users.noreply.github.com> Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14runtime(vim): Update base-syntax, fix nested function folding (#14397)dkearns
Only match function folding start and end patterns at the start of a line, excluding heredocs and :append/:change/:insert commands. Fixes #14393 Signed-off-by: Christian Brabandt <cb@256bit.org> Signed-off-by: Doug Kearns <dougkearns@gmail.com>
2024-04-14runtime(java): Recognise non-ASCII identifiers (#14543)Aliaksei Budavei
* runtime(java): Recognise non-ASCII identifiers Also: - Remove the already commented out and less general in its definition javaFuncDef alternative. - Stop recognising some bespoke {p,trace} debugging API. Non-ASCII identifiers have been supported from the outset of the Java language. > An _identifier_ is an unlimited-length sequence of _Java > letters_ and _Java digits_, the first of which must be a > Java letter. An identifier cannot have the same spelling > (Unicode character sequence) as a keyword . . . Boolean > literal . . . or the null literal . . . > . . . . . . . . > Letters and digits may be drawn from the entire Unicode > character set . . . > . . . . . . . . > A Java letter is a character for which the method > Character.isJavaLetter . . . returns true. A Java > letter-or-digit is a character for which the method > Character.isJavaLetterOrDigit . . . returns true. > . . . . . . . . > The Java letters include . . . for historical reasons, the > ASCII underscore (_) . . . and dollar sign ($) . . . (Separate syntax tests will be written when particular parts now touched will have been further improved.) Reference: https://javaalmanac.io/jdk/1.0/langspec.pdf [§3.8] * Take on the maintenance of Java filetype and syntax files Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-13runtime(vim): Update base-syntax, add legacy header foldingDoug Kearns
Allow for syntax-based folding of Vim9 script legacy header regions. This is enabled with the "H" flag of the g:vimsyn_folding config variable. closes: #14530 Signed-off-by: Christian Brabandt <cb@256bit.org> Signed-off-by: Doug Kearns <dougkearns@gmail.com>
2024-04-13runtime(i3config): Line continuation is not detected for 'set' command (#14531)julio-b
Problem: Valid i3config syntax is highlighted as error. Solution: Skip over line-breaks correctly. Signed-off-by: Julio B <julio.bacel@gmail.com> Signed-off-by: Josef Litoš <54900518+JosefLitos@users.noreply.github.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-13runtime(go): fix highlighting import string followed by some comment (#14538)Linda_pp
Signed-off-by: rhysd <lin90162@yahoo.co.jp> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10patch 9.1.0304: filetype: cgdb config file is not recognizedv9.1.0304Wu, Zhenyu
Problem: filetype: cgdb config file is not recognized Solution: Detect cgdbrc files as cgdbrc filetype (Wu, Zhenyu) closes: #14458 Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)dkearns
This is a first-pass attempt to limit matching of Vim9 and legacy-script comments to the appropriate syntactic contexts. Vim9-script comments are highlighted at top level in a Vim9-script file, in all :def functions, and in all :autocmd and :commmand command blocks. Legacy-script comments are highlighted at top level in a legacy script file, in all :func functions and in the Vim9-script preamble before the :vim9script marker command. Fixes #13047, #11307 and #9587. Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09runtime(vim): Update base-syntax, no curly-brace names in Vim9 script (#14466)dkearns
Remove curly-brace name matching for :def functions. This is not supported in Vim9 script. Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-08runtime(cuda): Update cuda keywords, remove uncommonly used enumeration ↵jiangyinzuo
constants closes: #14406 Signed-off-by: jiangyinzuo <jiangyinzuo@foxmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-08patch 9.1.0278: filetype: zathurarc files not recognizedv9.1.0278Wu, Zhenyu
Problem: filetype: zathurarc files not recognized Solution: Detect '.zathurarc' files as zathurarc filetype, add zathurarc filetype (Wu, Zhenyu) closes: #14380 Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-08patch 9.1.0276: No pandoc syntax supportv9.1.0276Wu, Zhenyu
Problem: No pandoc syntax support Solution: Add pandoc syntax and compiler plugins (Wu, Zhenyu, Konfekt) closes: #14389 Co-authored-by: Konfekt <Konfekt@users.noreply.github.com> Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-07runtime(vim): Update syntax generator, autocmd event list parsingDoug Kearns
Track changes to the autocommand event list introduced in commit 78d742a (Patch 9.1.0256). closes: #14430 Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-04runtime(java): Improve the matching of contextual keywordsAliaksei Budavei
- Recognise a _record_ contextual keyword. - Recognise _non-sealed_, _sealed_, and _permits_ contextual keywords. - Admit _$_ to keyword characters. - Group _abstract_, _final_, _default_, _(non-)sealed_ (apart from _(non-)sealed_, the incompossibility of these modifiers calls for attention). - Remove another _synchronized_ keyword redefinition. I have also replaced a function with an expression. Before patch 8.1.0515, it should have been declared :function! to work with repeatable script sourcing; there is less to worry about with an expression. References: https://openjdk.org/jeps/395 (Records) https://openjdk.org/jeps/409 (Sealed Classes) https://docs.oracle.com/javase/specs/jls/se21/html/jls-3.html#jls-3.8 closes: #14403 Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-01runtime(yaml): improve syntax highlighting for YAMLitchyny
- Recognize block scalar style to avoid unexpected highlighting by `yamlFlowString` (fix #11517) - Improve performance of `yamlFlowMappingKey` by allowing execution by the NFA engine (fix #10730) - It was intentionally disabled before patterns were optimized by `s:SimplifyToAssumeAllPrintable`. - Fix detection of flow style mapping indicators (fix #8234). - Enable highlighting of explicit mapping value indicators and node properties in flow style. - Add syntax highlighting tests closes: #14354 Signed-off-by: itchyny <itchyny@cybozu.co.jp> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-31runtime(sshconfig,sshdconfig): update syntax (#14351)Eisuke Kawashima
* fix case insensitivity of Host and Hostname keys * improve regexps * add keywords Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-31runtime(vim): Distinguish Vim9 builtin object methods from namesake builtin ↵Aliaksei Budavei
functions (#14348) Currently, the overriding object method definitions are matched as vimFunctionError (:help builtin-object-methods, v9.1.0148). For example: ------------------------------------------------------------ vim9script class Test def string(): string return "Test" enddef endclass echo string(Test.new()) == Test.new().string() ------------------------------------------------------------ Instead, let's introduce a new syntax group vimMethodName and make these methods its members. In order to emphasise the link between the overriding methods and the overridden functions for highlighting, vimMethodName is linked by default to vimFuncName. Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com> Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-31runtime(pamconf): add support for Debian specific @includesChristian Brabandt
fixes: #14335 Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-28runtime(vim): Update base-syntax, match empty blob and :abclear modifiers ↵dkearns
(#14318) - Match empty blob literals. - Match modifier arguments to :abclear commands. Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-28runtime(haskell): allow TODO keywords in commentsEnrico Maria De Angelis
closes: #14319 Signed-off-by: Enrico Maria De Angelis <enricomaria.dean6elis@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-28runtime(debcontrol): add Static-Built-Using field (#14306)Guilherme Puida
Signed-off-by: Guilherme Puida <guilherme@puida.xyz> Signed-off-by: James McCoy <jamessan@jamessan.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-26runtime(java): Update java[CR]_JavaLang type lists (#14297)Aliaksei Budavei
- Add to the list of java.lang runtime exceptions two new types: MatchException (Pattern Matching for _switch_) and WrongThreadException (Virtual Threads). - "Demote" Compiler (removed in JDK 21) from the list of java.lang class types to a new list javaLangDeprecated. References: https://bugs.openjdk.org/browse/JDK-8205129 https://bugs.openjdk.org/browse/JDK-8282274 https://bugs.openjdk.org/browse/JDK-8284161 Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-25runtime(java): Recognise the inline kind of the {@return} tag (#14284)Aliaksei Budavei
Also: - Refine comment matching (javaComment{Error\ and,Start}). - Continue rewriting regexps (prefer atom grouping with non-capturing parens; factor out common prefixes in alternations). - Allow for relative paths with the _file_ attribute of {@snippet}. - Anticipate HTML in the @see tags. - Match the nullary method parens in javaDocSeeTagParam. - Improve the boundary patterns for summary sentences of documentation. > This sentence ends at ... or at the first tag (as defined > below). There are Java documentation tags (@) and there are HTML tags (<?>) (with Markdown looming large; see JEP 467). With block tags, e.g. @param, @return, @see, we begin another documentation "sentence" whether or not the author has terminated the summary sentence with a period; with .<!-- -->, we may follow abbreviations, enumerations, initials, (but instead consider @literal or &nbsp;) _within_ the summary sentence. On the other hand, inline tags, e.g. @code, @link, @literal, should not terminate the summary sentence. References: https://bugs.openjdk.org/browse/JDK-8075778 https://www.oracle.com/technical-resources/articles/java/javadoc-tool.html#firstsentence https://docs.oracle.com/en/java/javase/21/docs/specs/javadoc/doc-comment-spec.html Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-22runtime(vim): Update base-syntax, remove old unused syntax groups. (#14146)dkearns
Remove old unused syntax groups. - vimRegion, vimPattern and vimKeyword removed in Vim 5.3. - vimAuSyntax, vimAutoCmdOpt, vimAutoSet and vimStatement removed in 5.6. The following were linked in :hi commands but never defined with :syn and, most likely, never used: - vimHLMod introduced in 5.0. - vimKeycode and vimKeycodeError introduced in 5.4. - vimElseif introduced in 5.6. - vimFold introduced in 6.4. - vimOperStar (and vimoperStar) introduced in 9.0. Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-22runtime(java): Recognise the {@snippet} documentation tag (#14271)Aliaksei Budavei
Remember that ‘code fragments are typically Java source code, but they may also be fragments of properties files, source code in other languages, or plain text.’ Therefore, with these changes, markup tags are highlighted in the Java source files (as external snippets) and in the {@snippet} tags. Also: - Improve matching of the multi-line {@code} documentation tag with any contained balanced braces. - Recognise the {@literal} documentation tag. - Highlight stray blanks in comments. Related to an enhancement proposal for PCRE-like callouts discussed at https://github.com/vim/vim/issues/11217. References: https://openjdk.org/jeps/413 https://docs.oracle.com/en/java/javase/21/docs/specs/javadoc/doc-comment-spec.html Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-21runtime(vim): Update base-syntax, improve function definition highlighting ↵dkearns
(#14203) Improve function definition highlighting. - Match bang and function modifiers - abort etc. - Only match valid scope modifiers. - Match listing commands. - Don't match ex commands in function names. - Split function syntax groups into :func and :def subgroups. - Match Vim9-script parameter and return types. - Limit legacy-script and Vim9-script comments to :func and :def definitions, respectively. Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-19runtime(vim): Update base-syntax, disallow '.' at start of menu item names ↵dkearns
(#14232) Disallow '.' at the start of a menu item name. This is the menu path separator character and should be escaped with a '\' in this case. Partially fixes #14230. "popup" is still incorrectly matched as the Ex command. Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-18runtime(syntax-tests): regenerate c_00 and markdown dumpsChristian Brabandt
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-18runtime(syntax-tests): include missing changesAliaksei Budavei
related: #14215 Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-18runtime(syntax-tests): Retrofit input/c.c. with TEST_SETUPAliaksei Budavei
Also: - Include a syntax test for Markdown that takes advantage of a sourceable setup configuration. - Update Filelist closes: #14215 Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-18runtime(syntax-tests): Support sourceable Vim configuration for syntax testsAliaksei Budavei
Not all programming languages support comments; without such support, the TEST_SETUP functionality that offers embeddable Vim Ex commands may no longer be applicable. We can achieve similar functionality by storing Ex commands in a Vim file with its basename matching the basename of the test file, and having this Vim file sourced, and then having the test file loaded and tested. When such a Vim file would be used for a language that has comments and whose matching test file has embedded TEST_SETUP lines, we will accommodate it by letting the TEST_SETUP lines augment and/or overrule sourced configuration. Further details can be found in the discussion thread at https://github.com/vim/vim/discussions/14117. related: #14215 Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-18runtime(syntax-tests): Support embeddable Vim configuration for syntax testsAliaksei Budavei
Currently, the very same syntax file for which a test can be written is the only place where global variables can be defined so that the file parts guarded with such variables can be read during screen dump generation. This approach would lead to littering the syntax file with test-related queries. Instead, we could borrow the idea of comment-based mechanism for test setup from the indent test runner. With it, the first 20 lines of each test file would be ALWAYS scanned in search of the TEST_SETUP markers and, when found, the part between the end of the marker and the end of the line would be treated as a Vim Ex command. Note that with these changes, runtime/defaults.vim is no longer sourced for screen dump generation; however, some of its functionality is reintroduced. Further details can be found in the discussion thread at https://github.com/vim/vim/discussions/14117. related: #14215 Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-18runtime(vim): Update base-syntax, improve :highlight command (#14228)dkearns
Improve :highlight command highlighting - Use the same highlight groups for "default link" with and without bang. - Match some common line-continuation use. - Match :hi clear variants. - Highlight color-name values. Resync vim.vim and generator/vim.vim.base. Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-17runtime(go): `goPackageComment` highlighting too broadMatthew Hughes
Previously this would highlight any comment before a line starting `package`, for example var ( // This comment would be highlighted as a goPackageComment packages []string ) The package clause is only valid when followed by a space[1], so include this restriction This is upstreaming a change from `go-vim`[2] [1] https://go.dev/ref/spec#Package_clause [2] https://github.com/fatih/vim-go/commit/d1c36cc4173093d0be78fd826978a024febe6233 Signed-off-by: Matthew Hughes <matthewhughes934@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-15runtime(vim): Update base-syntax, revert last change to vimUserFunc (#14202)dkearns
Fix highlighting of ":echo (expr)" (broken in commit 61887b3) by re-enabling the original fix for #9987. Addresses https://github.com/vim/vim/pull/14199#issuecomment-1999732062. This will be fixed more generally when there is context-sensitive matching for commands and functions. Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-15runtime(vim): Update base-syntax, improve :echo and :execute highlighting ↵dkearns
(#14199) Improve :echo and :execute highlighting. - Add better line-continuation support for both commands. - Improve the :execute command's expression argument matching. - Remove the fix for issue #9987 as this is now handled by correctly matching the parens in :echo (...) as operator parens. Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-11runtime(vim): Update base-syntax, improve number matching (#14175)dkearns
- Limit blob literals to an even number of hexadecimal digits and correctly located dots. - Match octal numbers. The current version unsuccessfully attempts to match a leading '-' as part of the float literal. It's actually parsed as part of the literal for all numbers but the syntax file hasn't matched it like that for a long time and highlights negative numbers as UNARY-MINUS NUMBER. This will be fixed when better expression matching is implemented. Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-09runtime(java): Recognise string templates (#14150)Aliaksei Budavei
As this is encouraged in the referenced JEPs, "to visually distinguish a string template from a string literal, and a text block template from a text block", the default colours for java\%[Debug]StrTempl are made distinct from java\%[Debug]String. According to §3.2 Lexical Translations (JLS, c. 1996 or any more recent version), line terminators, white space, and comments are discarded before tokens are accepted. Since a template expression comprises a template processor, a dot, and a template, it may be visually appealing to break up its head across a few lines whenever its tail already spans multiple lines. Curiously, no allowance for it is made in the distributed tests for OpenJDK 21; the proposed regexp patterns take in consideration a line terminator and white space after a dot. References: https://openjdk.org/jeps/430 (Preview) https://openjdk.org/jeps/459 (Second Preview) https://openjdk.org/jeps/465 Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-09runtime(vim): Update base-syntax, improve :map highlighting (#14141)dkearns
Improve :map command highlighting. - Fix multiline RHS matching, allow continued lines and comments. - Allow ^V-escaped whitespace in LHS. - Handle map-bar properly and allow trailing commands. Fixes issue #12672. Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>