Releases: nmoroze/tclint
v0.7.0
This release makes a major change to the config file discovery mechanism. Configuration files are now discovered by walking up from source files, achieving two main goals:
- Within a project
tclintortclfmtwill discover the same configuration no matter what directory they're run from. - Different configurations can be applied to different directories by using separate config files.
The fileset configuration feature is removed by this release, since its functionality is subsumed by the second point.
See Config discovery for documentation of the new behavior.
v0.6.2
- Add support for dynamic plugins specified as a Python file (docs)
- Add mixed indentation style to tclfmt (uses tabs and spaces, matching Emacs default)
- Add
--partialflag to tclfmt to support partial formatting feature on CLI - Add support for using tclfmt as a pre-commit hook
- Improve parsing/error messages for
ifstatements - Improve argument checking for
binarycommand - Fix overly aggressive argument count checking on
foreachwith{*} - Fix formatting of switch commands using
-for continuation - Fix partial formatting of multiline strings
- Fix handling of "static" arg expansion (e.g.
{*}{1 2 3})
Thanks to @vries for the many contributions in this release!
v0.6.1
- Fix spurious
command-argsviolations when providing arguments beginning with-to builtin commands (thanks to a few folks for bug reports/discussion [1, 2], and @vries for submitting the fix!) - Improve error message for missing positional arguments (thanks to @JanikXcode)
- Add support for using tclint as a pre-commit hook (thanks to @vries)
Thanks to @patrislav1 for laying the groundwork for go-to-definition functionality in the LSP!
v0.6.0
This release includes a major update to tclint's plugin system! You can now define a command spec by writing a JSON file according to a well-documented schema. This replaces a more complicated system that required writing custom Python code to create a plugin.
This release removes the built-in OpenROAD plugin and the tclint-plugins CLI utility.
Additional changes:
- Add range/selection format support to
tclsp - Update
tclspto honor the "exclude" config setting - Make
tclsphandle nested workspace configurations consistently - Remove the ability to specify a path for the "ignore" config setting
- Improve invalid config error messages
- Fix bug that made the parser fail to recognize the
hypotmath function
v0.5.4
v0.5.3
v0.5.2
v0.5.1
This release fixes two parser issues:
- Fix
tclfmtcrash when encountering an arg expansion pattern ({*}) followed by a semicolon or close bracket (thanks to @L2523) - Improve error message when trying to parse non-concrete values as lists (e.g.
proc foo [list a b] { }) (thanks to @AlaoPrado)
This release is also the first to contain contributions from others 🥳 Thank you both for helping to improve tclint!
v0.5.0
This release has three major changes:
- The project now includes a language server,
tclsp!- This is an LSP-based language server that enables
tclinteditor integration supporting diagnostics and formatting. See the docs for more info.
- This is an LSP-based language server that enables
- Style checks have been removed from
tclint.- This removes the
--no-check-styleflag and makes its behavior the default.
- This removes the
- Support has been dropped for Python 3.8, which is now EOL.
Detailed user-facing changes
- Installing the
tclintPyPI package adds atclspbinary to your path. There should be no need to run this directly; in most cases your editor will be configured to launch it for you. - No more style-specific rules. References to these must be removed from config files.
- No more
style.allow-aligned-setsconfig setting, sincetclfmtdoesn't respect it. This must be removed from config files. - All the style-related configuration flags have been removed from the
tclintCLI. - The
--no-check-styleflag has been removed from thetclintCLI, its behavior is now the default. - The
--show-categoriesflag has been removed from thetclintCLI. The category separation isn't meaningful now that style checks have been removed. - The reported positions of some violations have changed.
v0.4.2
This release fixes a handful of minor bugs.
- Fix crash on
exprorproccommands that have no arguments - Fix bug in handling of unintended exceptions in command argument handlers, they're now caught gracefully
- Fix some missing syntax error handling in expressions (e.g. erroring out on an unbalanced closed paren)
- Fix incorrect position recorded for a single-item list that isn't enclosed in braces or quotes