Releases: nthykier/IDEA-debpkg
Releases · nthykier/IDEA-debpkg
v0.0.13
Added
- Proper display names for the file formats, which are used in IDEA's
Override File Type
feature.
Fixed
- Support multiple dependency profiles for a given dependency, which is permitted by the syntax.
Previously, this would have tripped a parse error. - Avoid using
Language
as a Map-key per https://plugins.jetbrains.com/docs/intellij/dynamic-plugins.html#code. - Internal/Chore: Have Bundle class extend
DynamicBundle
rather thanAbstractBundle
per recommendation of
JetBrains' documentation.
Changed
- When dependency profiles are present in a dependency field where it is not permitted, flag the
profile(s) and not the entire dependency as problematic. - Bump build time dependencies (org.jetbrains.intellij, org.jetbrains.changelog)
- Internal/Chore: Bump gradle version to 7.3.
- Internal/Chore: Update CI jobs.
- Internal/Chore: Bump build-time dependencies on
org.jetbrains.intellij
andorg.jetbrains.changelog
. - Bump the compat range for IDE to support 2021.3
v0.0.12
Changed
- Bump snakeyaml dependency to 1.29
- Bump CI dependencies (actions/{cache,checkout,create-release,upload-release-asset, upload-artifact}, gradle/wrapper-validation-action)
- Bump the compat range for the IDE to support 2021.2, no code changes required.
v0.0.11
Changed
- Bump the compat range for the IDE to support 2021.1, no code changes required.
- Bump snakeyaml dependency to 1.28
- Bump lombok dependency to 1.18.20
v0.0.9
Added
- Add an inspection for duplicating the field value of the
Source
paragraph
in aPackage
paragraph ofdebian/control
. - Add component-prefixed versions of sections to the list of known keywords
for theSection
field. - Add inspection for the value of the
Section
starting withmain/
as
the main component is the default and is customarily omitted. - Add code completion of file names in DEP-5 copyright files.
- Add
XB-Important
andProtected
as known fields indebian/control
. - Add inspection for using
XB-Important
withoutProtected
. The latter
is also supported by dpkg and therefore provides better coverage provided
dpkg and APT is new enough.
Changed
- Optimized the number of single character whitespace tokens emitted by the
lexer fordebian/changelog
in common cases. This should reduce the
memory usage slightly for this file type. - The date parser for
debian/changelog
is now much more forgiving about
the signoff dates. It will now accept dates that are incorrectly
formatted. Invalid dates are instead detected by an inspection along
with a quick fix (if the plugin recognises the date format). - Multiple lines of comments in deb822 files can now be folded and are
folded by default. - Field lookups for known fields in
debian/control
now accounts for the
X-
prefix (plus variants such asXB-
andXC-
). - Renamed and reordered inspection settings so the are now under
Debian
.
Previously, they were underDebianControl
.
Fixed
- Whitespace only lines in
debian/changelog
could trip parser errors.
Note that tab characters are still considered syntax errors. - Fixed an assertion error if
debian/changelog
contained* dir/:
. - The "linkification" of closed bugs in
debian/changelog
no longer
"misses"Closes
clauses if there are multiple of them in the same entry.
This was mostly seen with entries containing a sublist with per-itemCloses
. - The "linkification" of closed bugs in
debian/changelog
no longer
includes leading whitespace in the link. Previously, this could happen
if theCloses
spanned multiple lines. - The
debian/control
annotator was neutered due to a regression that is now
fixed.
v0.0.8
Added
- The
debian/control
support now includes a find usage contributor for files
and paths. This enables the safe delete will pick up if you delete a file
still referenced fromdebian/control
. - The
debian/changelog
code can now identify web-addresses and turn them
into links. Along with this, bug numbers mentioned afterCloses:
are now
linkified as well (provided they follow the Debian or Ubuntu bug patterns). - URLs in field values in deb822-based files are now turned into links.
Changed
- The
debian/control
support will now make a reference of each part of the
path in theFiles
fields. These work better with the built-in refactoring
support (but still has rough edges around moving things between directories). - The
debian/changelog
parser now attempts to understand change entries as
multiline entries. This is supposed to be invisible to the user but can be
an obvious source of regressions. - Tweak the
debian/changelog
spell check exclusion regular expressions.
Fixed
- Fixed a bug where renaming a directory via refactoring would remove the
trailing slash after the directory in theFiles
-field in
debian/copyright
. Now refactoring will correctly preserve the directory
separators.
v0.0.7
Added
- More packaging terms to the built-in dictionary.
- Custom exclusion rules for the
debian/changelog
Spellchecker. It will
now attempt to exclude patterns likeoverride_dh_VALUE
and other common
filename patterns (e.g. "*.c"). - A quick fix to the Deb822 copyright format that converts directories into
a directory + wildcard as directories themselves match nothing. - Support for IDEA 2020.3.
- Valid paths without wildcards in the
Files
field indebian/copyright
are now turned into references (enabling "jump to" and refactoring).
Changed
- Parse
[ Name ]:
as an alternative to[ Name ]
token indebian/changelog
.
Fixed
- Fixed compatibility with IDEA 2020.1.4.
v0.0.6
Added
- Recognition of
.buildinfo
and.changes
file. To avoid false-positives, debpkg will only auto-detect the format
when the basename appear to follow thePACKAGE_VERSION_ARCH.EXTENSION
pattern. - Auto-detect
debian/copyright
as a deb822 file provided it has aFormat:
field with a value of
https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
(including some variants of that value). - Reliably detect incorrect (whitespace-only) continuation lines and include quick fixes for them.
Changed
- The Deb822 parser now recognizes GPG signatures. By default, the GPG lines will be folded.
- Enable folding support for unknown fields. Previously only known multi-line fields could be folded.
- Folding works better with "fake" single line fields by (a la
Foo:\n value
) where now it folds away the
leading whitespace (and newline) but keeps the value visible. - Use title-case for the plugin name.
- Rewrite how the plugin determines whether a field should be spellchecked. It now relies on a list of
known fields that are worth spellchecking. For formats where the plugin does not recognise the fields, it
falls back to using the name for guessing whether the field should be spellchecked. NotablyComment
,
Description
andDisclaimer
will have spellchecking enabled in generic deb822 files.
v0.0.5
Added
- Automatically recognise
.dsc
files as a generic deb822 file.
Fixed
- Avoid false error if a field is followed by a new line like
Depends:\n foo,...
. (Closes: #3) - In the
d/changelog
format, highlight file references in* file:\n ...
cases as well. (Closes: #4) - Stop recommending the
Rules-Requires-Root
in generic deb822 file if they happen to have aSource
field. - Provide a better hover text for unrecognised deb822 fields instead of just dumping an internal name in front of it.
- Avoid false errors on non-native versions in changelog files.
v0.0.4
Added
- Add check for version operator being supported in the current dependency field. Provides only supports
=
. - Add check for use of build profiles restrictions in dependency fields that do not support it.
- Add a spell-check dictionary of known packaging terms to avoid common terms being flagged as spelling mistakes.
- Add suggestion to add Rules-Requires-Root in
debian/control
if it is absent.
Changed
- Rewrite part of the annotation code to make it future proof at the expense of support for IDEA platforms based on 2019. If you need 2019, please remain on 0.0.3 for now.
- Provide a better hover text for file references in the changelog file.
- Rewrite the "duplicate fields" check as an annotation meaning it can no longer be disabled (nor is it severity configurable).
- Add an {...} marker in the placeholder text for multi-line fields that have been folded.
Removed
- Remove default extension for the Dependency language format (which is only used inside debian/control). The extension was only used during debugging.
Fixed
- Fix unhandled exception in annotation of dependency fields with invalid package names (etc.).
- Fix missing error when a package name contained a trailing colon in a dependency field. This is invalid, but the annotator silently accepted it as valid.
v0.0.3
Added
- Add check to highlight if fields are placed in the wrong paragraph in debian/control files. (Closes: #1)
- Add check to ensure that mandatory
Source
andPackage
fields are present in debian/control. - Add documentation and field-placement level validation for remaining known fields (e.g. Depends). (Closes: #2)
- Detect the documentation pattern
* FILENAME: CHANGE
in changelogs and automatically link to the file if
it can be found (globs not supported). - Parse dependency fields with a different parser enabling basic format checking of the dependency fields.
- Check for invalid version operators dependency fields.
- Add check for some substvars used unconventionally in dependency fields (e.g.
${misc:Depends}
used as a version). - Add support for folding long field values with
Description
indebian/control
being folded by default.
Changed
- Code completition is now more context-aware inside dependency fields.
Fixed
- Fix misplaced
Package
/Source
field warning not coping with moving paragraphs around.