Merge pull request 'Highlight braced stored-proc names in lappend arguments' (#42) from #41 into main
build_and_puplish.yml / build_and_publish (release) Successful in 32s

This commit was merged in pull request #42.
This commit is contained in:
2026-09-21 19:13:31 +00:00
+10 -1
View File
@@ -4,7 +4,7 @@ from typing import List
import attrs
from common.load_data import standard_items
from tclint.commands.plugins import PluginManager
from tclint.syntax_tree import BareWord, Command, QuotedWord, Visitor
from tclint.syntax_tree import BareWord, BracedWord, Command, QuotedWord, Visitor
from tools.variable_names import variable_name
from tools.tcloo_symbols import class_symbols
from tools.tcloo_completion import _analyze
@@ -173,6 +173,15 @@ class _Highlighter(Visitor):
def visit_command(self, command: Command):
routine = command.routine
# Stored procedure names in braced lappend arguments use the same
# highlighting as calls, without treating the literal as executable Tcl.
if routine.contents in {"lappend", "::lappend"}:
for argument in command.args:
if (isinstance(argument, BracedWord)
and argument.contents in self._custom_function_names | _STANDARD_PROC_NAMES):
line, col = argument.contents_pos
self._append_token((line - 1, col - 1), len(argument.contents), "function", [])
# Highlight functions (custom or standard) when used as the routine
name = getattr(routine, "contents", None)
if name: