Mercurial > vim
view runtime/syntax/readline.vim @ 35039:fbdb6aeca2e2
runtime(java): Improve the recognition of the "style" method declarations
Commit: https://github.com/vim/vim/commit/a4c085a3e607bd01d34e1db600b6460fc35fb0a3
Author: Aliaksei Budavei <0x000c70@gmail.com>
Date: Wed Apr 24 21:04:25 2024 +0200
runtime(java): Improve the recognition of the "style" method declarations
- 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>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Wed, 24 Apr 2024 21:15:02 +0200 |
parents | 2f7e67dd088c |
children |
line wrap: on
line source
" Vim syntax file " Language: readline(3) configuration file " Maintainer: Daniel Moch <daniel@danielmoch.com> " Previous Maintainer: Nikolai Weibull <now@bitwi.se> " Latest Revision: 2018-07-26 " Add new functions for Readline 7 / Bash 4.4 " (credit: Github user bewuethr) if exists('b:current_syntax') finish endif let s:cpo_save = &cpo set cpo&vim setlocal iskeyword+=- syn match readlineKey contained \ '\S' \ nextgroup=readlineKeyTerminator syn match readlineBegin display '^' \ nextgroup=readlineComment, \ readlineConditional, \ readlineInclude, \ readlineKeyName, \ readlineKey, \ readlineKeySeq, \ readlineKeyword \ skipwhite syn region readlineComment contained display oneline \ start='#' \ end='$' \ contains=readlineTodo, \ @Spell syn keyword readlineTodo contained \ TODO \ FIXME \ XXX \ NOTE syn match readlineConditional contained \ '$if\>' \ nextgroup=readlineTest, \ readlineTestApp \ skipwhite syn keyword readlineTest contained \ mode \ nextgroup=readlineTestModeEq syn match readlineTestModeEq contained \ '=' \ nextgroup=readlineEditingMode syn keyword readlineTest contained \ term \ nextgroup=readlineTestTermEq syn match readlineTestTermEq contained \ '=' \ nextgroup=readlineTestTerm syn match readlineTestTerm contained \ '\S\+' syn match readlineTestApp contained \ '\S\+' syn match readlineConditional contained display \ '$\%(else\|endif\)\>' syn match readlineInclude contained display \ '$include\>' \ nextgroup=readlinePath syn match readlinePath contained display \ '.\+' syn case ignore syn match readlineKeyName contained display \ nextgroup=readlineKeySeparator, \ readlineKeyTerminator \ '\%(Control\|Del\|Esc\|Escape\|LFD\|Meta\|Newline\|Ret\|Return\|Rubout\|Space\|Spc\|Tab\)' syn case match syn match readlineKeySeparator contained \ '-' \ nextgroup=readlineKeyName, \ readlineKey syn match readlineKeyTerminator contained \ ':' \ nextgroup=readlineFunction \ skipwhite syn region readlineKeySeq contained display oneline \ start=+"+ \ skip=+\\\\\|\\"+ \ end=+"+ \ contains=readlineKeyEscape \ nextgroup=readlineKeyTerminator syn match readlineKeyEscape contained display \ +\\\([CM]-\|[e\\"'abdfnrtv]\|\o\{3}\|x\x\{2}\)+ syn keyword readlineKeyword contained \ set \ nextgroup=readlineVariable \ skipwhite syn keyword readlineVariable contained \ nextgroup=readlineBellStyle \ skipwhite \ bell-style syn keyword readlineVariable contained \ nextgroup=readlineBoolean \ skipwhite \ bind-tty-special-chars \ blink-matching-paren \ colored-completion-prefix \ colored-stats \ completion-ignore-case \ completion-map-case \ convert-meta \ disable-completion \ echo-control-characters \ enable-bracketed-paste \ enable-keypad \ enable-meta-key \ expand-tilde \ history-preserve-point \ horizontal-scroll-mode \ input-meta \ meta-flag \ mark-directories \ mark-modified-lines \ mark-symlinked-directories \ match-hidden-files \ menu-complete-display-prefix \ output-meta \ page-completions \ print-completions-horizontally \ revert-all-at-newline \ show-all-if-ambiguous \ show-all-if-unmodified \ show-mode-in-prompt \ skip-completed-text \ visible-stats syn keyword readlineVariable contained \ nextgroup=readlineString \ skipwhite \ comment-begin \ isearch-terminators \ vi-cmd-mode-string \ vi-ins-mode-string \ emacs-mode-string syn keyword readlineVariable contained \ nextgroup=readlineNumber \ skipwhite \ completion-display-width \ completion-prefix-display-length \ completion-query-items \ history-size \ keyseq-timeout syn keyword readlineVariable contained \ nextgroup=readlineEditingMode \ skipwhite \ editing-mode syn keyword readlineVariable contained \ nextgroup=readlineKeymap \ skipwhite \ keymap syn keyword readlineBellStyle contained \ audible \ visible \ none syn case ignore syn keyword readlineBoolean contained \ on \ off syn case match syn region readlineString contained display oneline \ matchgroup=readlineStringDelimiter \ start=+"+ \ skip=+\\\\\|\\"+ \ end=+"+ syn match readlineNumber contained display \ '[+-]\d\+\>' syn keyword readlineEditingMode contained \ emacs \ vi syn match readlineKeymap contained display \ 'emacs\%(-\%(standard\|meta\|ctlx\)\)\=\|vi\%(-\%(move\|command\|insert\)\)\=' syn keyword readlineFunction contained \ beginning-of-line \ end-of-line \ forward-char \ backward-char \ forward-word \ backward-word \ clear-screen \ redraw-current-line \ \ accept-line \ previous-history \ next-history \ beginning-of-history \ end-of-history \ reverse-search-history \ forward-search-history \ non-incremental-reverse-search-history \ non-incremental-forward-search-history \ history-search-forward \ history-search-backward \ yank-nth-arg \ yank-last-arg \ \ delete-char \ backward-delete-char \ forward-backward-delete-char \ quoted-insert \ tab-insert \ self-insert \ transpose-chars \ transpose-words \ upcase-word \ downcase-word \ capitalize-word \ overwrite-mode \ \ kill-line \ backward-kill-line \ unix-line-discard \ kill-whole-line \ kill-word \ backward-kill-word \ unix-word-rubout \ unix-filename-rubout \ delete-horizontal-space \ kill-region \ copy-region-as-kill \ copy-backward-word \ copy-forward-word \ yank \ yank-pop \ \ digit-argument \ universal-argument \ \ complete \ possible-completions \ insert-completions \ menu-complete \ menu-complete-backward \ delete-char-or-list \ \ start-kbd-macro \ end-kbd-macro \ call-last-kbd-macro \ print-last-kbd-macro \ \ re-read-init-file \ abort \ do-uppercase-version \ prefix-meta \ undo \ revert-line \ tilde-expand \ set-mark \ exchange-point-and-mark \ character-search \ character-search-backward \ skip-csi-sequence \ insert-comment \ dump-functions \ dump-variables \ dump-macros \ emacs-editing-mode \ vi-editing-mode \ \ vi-eof-maybe \ vi-movement-mode \ vi-undo \ vi-match \ vi-tilde-expand \ vi-complete \ vi-char-search \ vi-redo \ vi-search \ vi-arg-digit \ vi-append-eol \ vi-prev-word \ vi-change-to \ vi-delete-to \ vi-end-word \ vi-char-search \ vi-fetch-history \ vi-insert-beg \ vi-search-again \ vi-put \ vi-replace \ vi-subst \ vi-char-search \ vi-next-word \ vi-yank-to \ vi-first-print \ vi-yank-arg \ vi-goto-mark \ vi-append-mode \ vi-prev-word \ vi-change-to \ vi-delete-to \ vi-end-word \ vi-char-search \ vi-insert-mode \ vi-set-mark \ vi-search-again \ vi-put \ vi-change-char \ vi-subst \ vi-char-search \ vi-undo \ vi-next-word \ vi-delete \ vi-yank-to \ vi-column \ vi-change-case if exists("readline_has_bash") syn keyword readlineFunction contained \ shell-forward-word \ shell-backward-word \ shell-expand-line \ history-expand-line \ magic-space \ alias-expand-line \ history-and-alias-expand-line \ insert-last-argument \ operate-and-get-next \ forward-backward-delete-char \ shell-kill-word \ shell-backward-kill-word \ delete-char-or-list \ complete-filename \ possible-filename-completions \ complete-username \ possible-username-completions \ complete-variable \ possible-variable-completions \ complete-hostname \ possible-hostname-completions \ complete-command \ possible-command-completions \ dynamic-complete-history \ dabbrev-expand \ complete-into-braces \ glob-expand-word \ glob-list-expansions \ display-shell-version \ glob-complete-word \ edit-and-execute-command endif hi def link readlineKey readlineKeySeq hi def link readlineComment Comment hi def link readlineTodo Todo hi def link readlineConditional Conditional hi def link readlineTest Type hi def link readlineDelimiter Delimiter hi def link readlineTestModeEq readlineEq hi def link readlineTestTermEq readlineEq hi def link readlineTestTerm readlineString hi def link readlineTestAppEq readlineEq hi def link readlineTestApp readlineString hi def link readlineInclude Include hi def link readlinePath String hi def link readlineKeyName SpecialChar hi def link readlineKeySeparator readlineKeySeq hi def link readlineKeyTerminator readlineDelimiter hi def link readlineKeySeq String hi def link readlineKeyEscape SpecialChar hi def link readlineKeyword Keyword hi def link readlineVariable Identifier hi def link readlineBellStyle Constant hi def link readlineBoolean Boolean hi def link readlineString String hi def link readlineStringDelimiter readlineString hi def link readlineNumber Number hi def link readlineEditingMode Constant hi def link readlineKeymap Constant hi def link readlineFunction Function let b:current_syntax = 'readline' let &cpo = s:cpo_save unlet s:cpo_save