Some checks failed
Detach Plugins / check (FlyGrep.vim) (push) Has been cancelled
Detach Plugins / check (GitHub.vim) (push) Has been cancelled
Detach Plugins / check (JavaUnit.vim) (push) Has been cancelled
Detach Plugins / check (SourceCounter.vim) (push) Has been cancelled
Detach Plugins / check (cpicker.nvim) (push) Has been cancelled
Detach Plugins / check (dein-ui.vim) (push) Has been cancelled
Detach Plugins / check (git.vim) (push) Has been cancelled
Detach Plugins / check (iedit.vim) (push) Has been cancelled
Detach Plugins / check (scrollbar.vim) (push) Has been cancelled
Detach Plugins / check (vim-chat) (push) Has been cancelled
Detach Plugins / check (vim-cheat) (push) Has been cancelled
Detach Plugins / check (vim-todo) (push) Has been cancelled
Detach Plugins / check (xmake.vim) (push) Has been cancelled
test / Linux (nvim, nightly) (push) Has been cancelled
test / Linux (nvim, v0.3.8) (push) Has been cancelled
test / Linux (nvim, v0.4.0) (push) Has been cancelled
test / Linux (nvim, v0.4.2) (push) Has been cancelled
test / Linux (nvim, v0.4.3) (push) Has been cancelled
test / Linux (nvim, v0.4.4) (push) Has been cancelled
test / Linux (nvim, v0.5.0) (push) Has been cancelled
test / Linux (nvim, v0.5.1) (push) Has been cancelled
test / Linux (nvim, v0.6.0) (push) Has been cancelled
test / Linux (nvim, v0.6.1) (push) Has been cancelled
test / Linux (nvim, v0.7.0) (push) Has been cancelled
test / Linux (nvim, v0.7.2) (push) Has been cancelled
test / Linux (nvim, v0.8.0) (push) Has been cancelled
test / Linux (nvim, v0.8.1) (push) Has been cancelled
test / Linux (nvim, v0.8.2) (push) Has been cancelled
test / Linux (nvim, v0.8.3) (push) Has been cancelled
test / Linux (nvim, v0.9.0) (push) Has been cancelled
test / Linux (nvim, v0.9.1) (push) Has been cancelled
test / Linux (true, vim, v7.4.052) (push) Has been cancelled
test / Linux (true, vim, v7.4.1689) (push) Has been cancelled
test / Linux (true, vim, v7.4.629) (push) Has been cancelled
test / Linux (true, vim, v8.0.0027) (push) Has been cancelled
test / Linux (true, vim, v8.0.0183) (push) Has been cancelled
test / Linux (vim, nightly) (push) Has been cancelled
test / Linux (vim, v8.0.0184) (push) Has been cancelled
test / Linux (vim, v8.0.1453) (push) Has been cancelled
test / Linux (vim, v8.1.2269) (push) Has been cancelled
test / Linux (vim, v8.2.2434) (push) Has been cancelled
test / Linux (vim, v8.2.3995) (push) Has been cancelled
test / Windows (nvim, nightly) (push) Has been cancelled
test / Windows (nvim, v0.3.8) (push) Has been cancelled
test / Windows (nvim, v0.4.2) (push) Has been cancelled
test / Windows (nvim, v0.4.3) (push) Has been cancelled
test / Windows (nvim, v0.4.4) (push) Has been cancelled
test / Windows (nvim, v0.5.0) (push) Has been cancelled
test / Windows (nvim, v0.5.1) (push) Has been cancelled
test / Windows (nvim, v0.6.0) (push) Has been cancelled
test / Windows (nvim, v0.6.1) (push) Has been cancelled
test / Windows (nvim, v0.7.0) (push) Has been cancelled
test / Windows (nvim, v0.7.2) (push) Has been cancelled
test / Windows (nvim, v0.8.0) (push) Has been cancelled
test / Windows (nvim, v0.8.1) (push) Has been cancelled
test / Windows (nvim, v0.8.2) (push) Has been cancelled
test / Windows (nvim, v0.8.3) (push) Has been cancelled
test / Windows (nvim, v0.9.0) (push) Has been cancelled
test / Windows (nvim, v0.9.1) (push) Has been cancelled
test / Windows (vim, nightly) (push) Has been cancelled
test / Windows (vim, v7.4.1185) (push) Has been cancelled
test / Windows (vim, v7.4.1689) (push) Has been cancelled
test / Windows (vim, v8.0.0027) (push) Has been cancelled
test / Windows (vim, v8.0.1453) (push) Has been cancelled
test / Windows (vim, v8.1.2269) (push) Has been cancelled
test / Windows (vim, v8.2.2434) (push) Has been cancelled
test / Windows (vim, v8.2.3995) (push) Has been cancelled
docker / docker (push) Has been cancelled
mirror / check (coding) (push) Has been cancelled
mirror / check (gitee) (push) Has been cancelled
mirror / check (gitlab) (push) Has been cancelled
90 lines
2.8 KiB
Scheme
90 lines
2.8 KiB
Scheme
; TLA+ scopes and definitions
|
|
[
|
|
(bounded_quantification)
|
|
(choose)
|
|
(function_definition)
|
|
(function_literal)
|
|
(lambda)
|
|
(let_in)
|
|
(module)
|
|
(module_definition)
|
|
(operator_definition)
|
|
(set_filter)
|
|
(set_map)
|
|
(unbounded_quantification)
|
|
] @scope
|
|
|
|
(choose (identifier) @definition.parameter)
|
|
(choose (tuple_of_identifiers (identifier) @definition.parameter))
|
|
(constant_declaration (identifier) @definition.constant)
|
|
(constant_declaration (operator_declaration name: (_) @definition.constant))
|
|
(function_definition
|
|
name: (identifier) @definition.function
|
|
(#set! "definition.function.scope" "parent"))
|
|
(lambda (identifier) @definition.parameter)
|
|
(module_definition
|
|
name: (_) @definition.import
|
|
(#set! "definition.import.scope" "parent"))
|
|
(module_definition parameter: (identifier) @definition.parameter)
|
|
(module_definition parameter: (operator_declaration name: (_) @definition.parameter))
|
|
(operator_definition
|
|
name: (_) @definition.macro
|
|
(#set! "definition.macro.scope" "parent"))
|
|
(operator_definition parameter: (identifier) @definition.parameter)
|
|
(operator_definition parameter: (operator_declaration name: (_) @definition.parameter))
|
|
(quantifier_bound (identifier) @definition.parameter)
|
|
(quantifier_bound (tuple_of_identifiers (identifier) @definition.parameter))
|
|
(unbounded_quantification (identifier) @definition.parameter)
|
|
(variable_declaration (identifier) @definition.var)
|
|
|
|
; Proof scopes and definitions
|
|
[
|
|
(non_terminal_proof)
|
|
(suffices_proof_step)
|
|
(theorem)
|
|
] @scope
|
|
|
|
(assume_prove (new (identifier) @definition.parameter))
|
|
(assume_prove (new (operator_declaration name: (_) @definition.parameter)))
|
|
(assumption name: (identifier) @definition.constant)
|
|
(pick_proof_step (identifier) @definition.parameter)
|
|
(take_proof_step (identifier) @definition.parameter)
|
|
(theorem
|
|
name: (identifier) @definition.constant
|
|
(#set! "definition.constant.scope" "parent"))
|
|
|
|
; PlusCal scopes and definitions
|
|
[
|
|
(pcal_algorithm)
|
|
(pcal_macro)
|
|
(pcal_procedure)
|
|
(pcal_with)
|
|
] @scope
|
|
|
|
(pcal_macro_decl parameter: (identifier) @definition.parameter)
|
|
(pcal_proc_var_decl (identifier) @definition.parameter)
|
|
(pcal_var_decl (identifier) @definition.var)
|
|
(pcal_with (identifier) @definition.parameter)
|
|
|
|
; Built-in PlusCal variables
|
|
(pcal_algorithm_body
|
|
[
|
|
(_ (identifier_ref) @definition.var)
|
|
(_ (_ (identifier_ref) @definition.var))
|
|
(_ (_ (_ (identifier_ref) @definition.var)))
|
|
(_ (_ (_ (_ (identifier_ref) @definition.var))))
|
|
(_ (_ (_ (_ (_ (identifier_ref) @definition.var)))))
|
|
]
|
|
(#vim-match? @definition.var "^(self|pc|stack)$")
|
|
)
|
|
|
|
; References
|
|
(identifier_ref) @reference
|
|
((prefix_op_symbol) @reference)
|
|
(bound_prefix_op symbol: (_) @reference)
|
|
((infix_op_symbol) @reference)
|
|
(bound_infix_op symbol: (_) @reference)
|
|
((postfix_op_symbol) @reference)
|
|
(bound_postfix_op symbol: (_) @reference)
|
|
(bound_nonfix_op symbol: (_) @reference)
|