Commit Graph
85 Commits
Author SHA1 Message Date
Christoph Brandau 541704f45a feat(cdl): add CDL event handler parsing and snippet support
build_and_puplish.yml / build_and_publish (release) Successful in 36s
This adds a small DSL-aware helper to extract CDL event
declarations and generate a ready-to-use snippet. It also
extends hover support to show the snippet and parameter
hints for CDL events, improving developer productivity.

- Generate a MOM event handler scaffold and local vars
- Hover shows the generated snippet and mom_ parameter hints
2026-08-19 09:45:57 +02:00
Christoph Brandau 33cf282b0a feat(debug): enable Python debug workflow and debug server integration
Adds an end-to-end Python debug workflow for the extension.
Includes a new prepare-debug.ps1 script and a VS Code task.
Extends the Python server and extension to coordinate a debug session and safe startup.

- Add prepare-debug.ps1 and a VS Code task to build the debug bundle
- Enable Python debug wiring in the server and tests
- Ensure a single stable Python debug session during startup
2026-08-17 11:02:22 +02:00
Christoph Brandau 35a4357551 feat(navigation): add symbol index and LSP navigation features
The changes introduce a Tcl symbol index powering LSP navigation
features across the workspace. A navigation API exposes
snapshots and update hooks, enabling goto-definition,
references, and rename using the index. Background indexing
now watches Tcl files and rebuilds the index to stay in sync.

- Add Tcl symbol index and navigation snapshot API
- Wire go-to-definition, references, and rename using the index
- Watch Tcl files and refresh the index in the background
2026-08-17 09:24:45 +02:00
Christoph Brandau f5bd79f067 feat(lsp): add incremental indexing and file ops support
Adds a thread-safe incremental index and snapshot API for LSP.
Introduces cache invalidation and file operation hooks for delete
and rename. This keeps indices in sync with disk changes.
Supports reindexing TCL files from disk when needed.

- Adds workspace file change handlers to sync indices on delete/rename.
- Introduces locking and snapshot helpers to safely access shared state.
- Refactors to invalidate caches on edits and reindex TCL files.
2026-08-17 08:45:09 +02:00
Christoph Brandau a39aee1b9d feat(server): add TCL signature help support
Adds a signature help system for TCL commands.
The LSP server now exposes signature help for custom and
built-in MOM procedures, enabling parameter hints while editing.
Tests and documentation were added to cover common usage.

- Adds signature_help module to parse and present signatures
- Integrates with LSP server to provide signature help on the client
- Adds tests for custom and built-in procedures
2026-08-17 08:31:15 +02:00
Christoph Brandau dfe15dd3db Fix single-line brace formatting to preserve internal whitespace
The formatter now calculates and passes explicit leading and trailing whitespace around expression content to the `_brace` method. This ensures correct rendering of single-line expressions that include braces.
2026-06-22 08:49:22 +02:00
Christoph Brandau 3b233389c8 Fix Tcl formatting bug by adjusting formatter options 2026-06-22 08:29:48 +02:00
Christoph Brandau f60c4563e4 Delegate TCL folding to server, fix bugs, and enhance stability
- Move TCL folding range computation from client to language server, avoiding duplicate regions.
- Serialize language server restarts to prevent multiple server instances running concurrently.
- Pin server-side Python dependencies to specific minor versions for improved stability and predictability.
- Make debug server connection non-fatal, allowing the language server to start even if the debugger isn't attached.
- Optimize semantic token generation by caching Tclint plugin commands.
2026-06-18 20:38:47 +02:00
Christoph Brandau 3ad3847045 add new features and fix bugs 2026-06-18 17:31:51 +02:00
Christoph Brandau 41f331d4c4 add updates libs 2026-06-18 17:21:58 +02:00
Christoph Brandau af8cd58fda Merge branch 'main' of https://git.cbsk-tech.de/Christoph/nx_post_support 2025-08-15 13:13:15 +02:00
Christoph Brandau df0f3d7a61 add description 2025-08-15 13:12:41 +02:00
Christoph Brandau bd4b17825c add: Outline support for DEF and CDL files 2025-08-15 07:29:01 +02:00
Christoph Brandau 5d6182e91f double value MOM_add_to_block_buffer rename to MOM_add_to_line_buffer 2025-08-15 07:18:38 +02:00
Christoph Brandau 63e9c429bd update ReadMe 2025-08-14 07:57:40 +02:00
Christoph Brandau 5cba6763f1 Merge branch 'new_features'
/ build_and_publish (release) Successful in 36s
2025-08-12 13:21:27 +02:00
Christoph Brandau e20bb85ac6 fix: wrong highligthing 2025-08-12 13:18:08 +02:00
Christoph Brandau 579847b56d fix formatter
/ build_and_publish (release) Successful in 33s
2025-08-12 11:35:54 +02:00
Christoph Brandau 618d6b478b fix: formatter when \ was deleting 2025-08-12 11:28:10 +02:00
Christoph Brandau 480978d6bb Merge branch 'new_features' of https://git.cbsk-tech.de/Christoph/nx_post_support into new_features
/ build_and_publish (release) Failing after 31s
2025-08-12 11:27:20 +02:00
Christoph Brandau 04798328bd fix: formatter 2025-08-12 11:27:14 +02:00
Christoph Brandau ae835089b6 fix: formatter when \ was deleting 2025-08-12 11:26:52 +02:00
Christoph Brandau 12b7b62aa5 add variable indexing keep track of postion
/ build_and_publish (release) Successful in 39s
2025-08-12 09:07:04 +02:00
Christoph Brandau 7263b6f530 optimze Server 2025-08-12 07:48:05 +02:00
Christoph Brandau c0635e48ea Merge branch 'new_features' of https://git.cbsk-tech.de/Christoph/nx_post_support into new_features 2025-08-12 07:15:21 +02:00
Christoph Brandau 8fb98d2f40 refacxtor the code 2025-08-12 07:15:18 +02:00
Christoph Brandau 72f894b05d add goto
/ build_and_publish (release) Successful in 31s
2025-08-11 18:40:06 +02:00
Christoph Brandau 0a26cb5c0f add outline to lsp 2025-08-11 18:28:23 +02:00
Christoph Brandau ef558c3aa3 update pipline
/ build_and_publish (release) Successful in 28s
2025-08-11 17:19:47 +02:00
Christoph Brandau 9d5ef23162 update pipline
/ build_and_publish (release) Failing after 26s
2025-08-11 17:16:27 +02:00
Christoph Brandau c25bf79427 update pipline
/ build_and_publish (release) Failing after 32s
2025-08-11 17:00:14 +02:00
Christoph Brandau 2c2579319d update hover feature
/ build_and_publish (release) Failing after 27s
2025-08-11 16:20:14 +02:00
Christoph Brandau b38fab1428 Merge branch 'new_features' of https://git.cbsk-tech.de/Christoph/nx_post_support into new_features 2025-08-11 16:05:58 +02:00
Christoph Brandau bc745622b9 add first proc doc 2025-08-11 15:59:09 +02:00
Christoph Brandau 0bb4ef731e add first proc doc 2025-08-11 10:15:58 +02:00
Christoph Brandau 31ccae9a40 update 2025-08-08 09:18:22 +02:00
Christoph Brandau 793b35f39f Merge branch 'tcl_language_support' of https://git.cbsk-tech.de/Christoph/nx_post_support into tcl_language_support 2025-08-07 07:27:09 +02:00
Christoph Brandau 3780fc27dc mod Readme 2025-08-07 07:27:08 +02:00
Christoph Brandau 6bded783a1 add functions to completion 2025-08-06 15:26:53 +02:00
Christoph Brandau b680c01989 update file sourcing 2025-08-05 18:18:17 +02:00
Christoph Brandau 6a051a6dee del test file 2025-08-04 16:06:50 +02:00
Christoph Brandau 72be83c282 fix wired namspace call in poco 2025-08-04 14:51:07 +02:00
Christoph Brandau fa5ea00384 add test cases 2025-08-04 14:11:55 +02:00
Christoph Brandau 3613391c23 fix semantics with var in array 2025-08-04 12:57:01 +02:00
Christoph Brandau 894a5b8b52 add more test cases 2025-08-04 12:48:21 +02:00
Christoph Brandau c644ac9bd3 add changes from tclint 2025-08-04 12:48:02 +02:00
Christoph Brandau fd5b1f2e71 add poco replace plugin 2025-08-04 12:47:49 +02:00
Christoph Brandau 57c65221d3 add LIB_GE_command_buffer_edit_replace to plugins 2025-08-04 09:17:30 +02:00
Christoph Brandau 5e2e85830b update 2025-08-01 13:35:02 +02:00
Christoph Brandau 98e2d104a8 update lsp_server 2025-07-31 16:19:09 +02:00
Christoph Brandau 44fd772151 Merge branch 'tcl_language_support' of https://git.cbsk-tech.de/Christoph/nx_post_support into tcl_language_support 2025-07-31 09:38:10 +02:00
Christoph Brandau d90f9b5425 adjsut completion Items 2025-07-31 09:38:02 +02:00
Christoph Brandau ed045aa459 update completion items 2025-07-30 17:28:18 +02:00
Christoph Brandau 8da61abfce Merge branch 'main' into tcl_language_support 2025-07-28 22:23:08 +02:00
Christoph Brandau 0ea2cbec87 add noxfile.py 2025-07-28 22:21:49 +02:00
Christoph Brandau 9a56aca6ef modify linter / checks 2025-07-28 22:15:19 +02:00
Christoph Brandau c34dac847a update parser 2025-07-25 16:02:39 +02:00
Christoph Brandau 94181497bd fix item list 2025-07-25 12:19:38 +02:00
Christoph Brandau d391b5dd79 add more items 2025-07-25 11:40:09 +02:00
Christoph Brandau e842d9d74e update completion list 2025-07-24 17:16:38 +02:00
Christoph Brandau c9a07ae1b9 use tclint 2025-07-23 17:12:24 +02:00
Christoph Brandau 64fa802cd6 update parser 2025-07-22 18:41:20 +02:00
Christoph Brandau 16608cb994 add more items 2025-07-22 07:21:47 +02:00
Christoph Brandau b264f20baf update settings 2025-07-21 16:20:16 +02:00
Christoph Brandau 52a2b2f774 fix formatter 2025-07-21 09:12:36 +02:00
Christoph Brandau ee5240c861 add formatter settings 2025-07-21 09:08:53 +02:00
Christoph Brandau a6f616a89d fix buffer @ in formatter 2025-07-21 07:37:31 +02:00
Christoph Brandau 1b6b25c137 fix formatter for buffers 2025-07-21 07:15:27 +02:00
Christoph Brandau b17a4f8ba0 fix the formatter 2025-07-21 06:52:20 +02:00
Christoph Brandau 18f635df92 fix formatting 2025-07-21 06:28:58 +02:00
Christoph Brandau c38fedd897 add lark 2025-07-18 18:03:12 +02:00
Christoph Brandau f482c8db87 update tcl standard 2025-07-17 15:01:02 +02:00
Christoph Brandau 9390ad4569 add vars and function for completion 2025-07-17 14:36:33 +02:00
Christoph Brandau 99718eb856 python lsp 2025-07-16 17:14:09 +02:00
Christoph Brandau 12ed7ff2bc update to lsp for TCL 2025-07-15 16:37:40 +02:00
Christoph Brandau d76cd7559a add outline funton for tcl
/ build_and_publish (push) Successful in 33s
2025-07-01 15:39:49 +02:00
Christoph Brandau 40f6f41667 update cdl/def diagnostic 2025-01-13 13:05:10 +01:00
Christoph Brandau 5c41b8fa0a implement tcl 2025-01-10 16:44:50 +01:00
Christoph Brandau 3ce2ad902b first try 2025-01-10 08:06:42 +01:00
Christoph Brandau 11af66a267 handle def file formatter 2025-01-10 07:44:48 +01:00
Christoph Brandau a318cf6e46 add Hover feature
/ build_and_publish (push) Failing after 19s
2025-01-08 15:53:19 +01:00
Christoph Brandau 793effd85d update workflow
/ build_and_publish (push) Successful in 17s
2025-01-08 11:35:45 +01:00
Christoph Brandau 202c401062 update workflow
/ build_and_publish (push) Failing after 18s
2025-01-08 11:23:59 +01:00
Christoph Brandau 8c1b614d20 change for release 2025-01-07 18:16:05 +01:00
Christoph Brandau 09d1685aa9 init project 2025-01-07 10:22:59 +01:00