All notable changes to this project will be documented in this file.
- Avoid mismatch, content is really just the description
- Add temporary binding, add trailing space to test
- Extend and disable description handling for now, it needs some more work
- Invalid "Remedies" link in README (#245)
- Write files atomically and delay signals (#224)
- Remove redundant
'static
lifetimes forconst C: &str
(#244) - Bump pulldown-cmark and isolang (#246)
- Manifest demo description multiline example
- Test dev comments too
- Don't pull submodules for test repos
- Add deny dbg macro
- Disable nlprules by default (#243)
- Add spellchecking to description field in Cargo.toml (#236)
- Add missing ticked original check
- Fix a few more edge cases
- Assure we use the threadpool based executor
- Move information out of README.md
- Rename
klass
tocategory
- Lost dbg statement
- Toml generation
- Only distinguish by class on clustering
- Add quirk to tokenization
- Add test cases for corner cases
- Add enum variant comments
- Avoid duplicate usage of same temporary file, when applying corrections
- Assure backtrace is built optimized in debug mode
- Backtick
- Quit != abort, improve user pick handling
- Avoid collecting files repeatedly
- Bump dependencies
- Reflow
- Cleanup
- Allow async for latency sensitive commands (#205)
- Improve selection ui, simplify, prep for `-enclosed option
- Update Cargo.lock
- Check more places for configs.
- Spellcheck key is optional
- Improve logic around ticks
- On short texts, assure backlog is flushed.
- Avoid canonicalize
- Add remedy.md
- Better sample
- Show extracts when comparing spans
- Improved config file loading logic
- Reduce md lib msg from warn to debug
- Allow
ink!'s
&should've
to work
- Add list-files subcommand
- Go depth first
- Print stats of files check with info level
- Improve fmt
- Assure the tokenizer recognizes i.e. isn't as one token
- If recurse, collect flat files, otherwise traverse dirs
- Add minimum supported rust version
- Remove dbg! statement
- Do not require a pound symbol for a raw str comment.
- Bump ra_syn, fancy-regex and update lock
- Assure comment variant detection stays fine
- Undo pulldown cmark, so a release can be slated
- Languagetool was replaced by nlprule a while ago
- Clarify README
- Ref gh issue
- Remove language tool reference from README, link to nlprule repo
- Remove 0.6.3 artifacts
- Cargo update
- Extract verbosity into fn
- Assure manifest lib path is filled with default, closes #176
- Avoid repeated warnings for missing terminal size
- Bump nlprule, ra_ap_syntax
- Migrate to eyre
- Update README and remove languagetool references, add config options
- Bump ra_ap_syntax
- Allow , separate list of checkers as flag arg
- Lazy_static does not play nice with rust analyzer F2
- Allow vulgar fractions and emojis
- Use typed language tag
- Trigger on webhook, rather than polling only
- Add some emoji chars
- Bump nlprule to 0.6.3
- Move to git version temporarily
- Assure deps are ok, add note about --locked
- Do not exit early on empty cache
- Add hunspell data
- Include builtin fallback dictionary and affix files
- Some more emojis
- Bump nlprule to 0.6.2 to get the speed gain
- Handle globs
- Avoid nlprule smart quotes
- Properly use globs
- Demo workspace references a README which was missing
- Bump cargo_toml to 0.9
- Bump nlprule to 0.6.1
- Add some emojis to trace level logging
- Add backtrace info
- Inline code shows up in the plain overlay, but not in the span list
- Length limit must be accounted for
- Additional file must be covered in recurse
- Cleanup artifacts
- Lay groundwork for inline code block handling
- Limit to aliases to 16 chars
- Avoid bails when ci is under high load
- Bump to 0.5.3
- Update deps, add debug info to release builds
- Bump nlprule to 0.6.0
- Update deps, add debug info to release builds
- Bump ra_ap_syntax
- Minor cleanups
- Bytes = chars case is always upheld
- Sigh
- Cover /, /**, and /! (#156)
- Cover /, /**, and /!
- Additional tests and logic for block comments
- Rebase fallout
- Adjust byte offset for new tokenizer
- Ignore known sentence ctrl characters
- Make sure all modules are found
- Add --jobs option and improve a few bug on messages
- Bump deps bitflags + ra
- Cargo update
- Cargo format use fs_err where possible
- Log messages about thread count / jobs
- Add logs
- Make timeouts more generous to not fail builds on initial runs
- Avoid re-linking
- Extra dictionary must start with a number
- More dictionary formt test cases
- Fmt
- Reduce duplicate compilations in the CI pipeline
- Add a integrity test of the hunspell extra dictionary logic
- Add tests for dictionary validation
- Use nlprule config where it should be
- Allow parallel ci verification runs
- Mask disabled checkers based on checkers
- Remove obsolete dev comment
- Better doc comment
- Warnings
- Make very nested deps quiet independently of -v flags
- Make args part of config module
- Re-partition config modules
- Introduce UnifiedArgs to consolidate Arg/Config variables
- Better unification tests
- Cargo include was wrong, extra hoops unnecessary
- Include
- Pulish does not like files in the git tree being modified
- **.suffix is not ok, must be **/*.suffix
- Include bin artifacts, bump to 0.4.6 for transform support
- Cargo update
- Micro opt
- Avoid sorting subsets without need
- Avoid punctuation, shorten ^^^ length by one
- Remove srx, it's not configurable but part of the tokenizer
- Use the correct override paths
- Misleading expect message
- Accidentally added duplicate .bin files
- Properly sort a suggestion set
- Spit into sentences before passing to nlprule crate
- Use local files on building if available
- Nlprule uses srx internally to split into segments
- Use nlprule-build in build.rs
- Default for checkers
- Use nlprule-data as cache dir
- Fmt
- Verify packaged file correctness after download in build.rs
- Add nlprule data
- Format
- Nlprules are language tool extracts, hence LGPLv2.1
- Use nlprule release
- Keep compressed archives instead of uncompressed
- LGPLv2.1 is not relevant for the source, only for the binary
- Remove old way of obtaining binaries
- Make logs visible
- Fmt
- Rename check_sentence -> check_chunk
- Detail README
- Reflow README.md
- Remove nlprule-data due to size limit of crates.io
- Avoid caching for now, break cargo publish
- Remove duplicate regex serialization code, add config for nlp
- Reduce checker invocation repetitity
- Add missing import for reflow tests
- Quit should apply all picked changes so far
- Bump dependencies
- Fmt+fix
- Add version flag action extraction, add test
- Parse plain one last, order matters, adjust executable name sanitization code
- Add section on git hook usage
- Silence an import warning about a debug only import
- Fmt + fix
- Fix issue template typo
- Enlist dev comment feature
- Adjust to added link fragment count
- Iterator must not drop the last line
- Iterator should not drop the last char
- Test adjustments
- Tokeneer tests and iterator behaviour adjustments
- First impl of reflow_inner() and reflow()
- Use CommentVariant to get proper prefix
- Remove old fix for non-existent bug
- Fixed bug in markdown parsing
- Return none if no reflow occurred
- Remove unused argument
- Split sets if last line is empty, fix tests accordingly
- Use is_empty()
- Span calculation was bad
- Don't split set on empty line
- Only operate on relevant part of chunk
- Make unbreakable ranges absolute, clear stack after storing
- Use original string to check if reflow occurred
- Add /// or //! for newlines which appeared in reflow
- Added missing clear() of unbreakable_stack
- Check if reflow happend was bad
- Use correct indentations on all comment variants
- Iterator lengths did not match
- 'proof-of-concept' for multiline bandaids
- Tried to fix multiline bandaids
- Introduce FirstAidKit for multiline bandaids
- Removed old multiline bandaid approach
- Fix FirstAidKit::try_from() to work on correct spans
- Use char count instead of byte len for span length
- Exchange iterators
- Use try_from(suggestion) for multiline spans
- Fix finding length of lines
- Use bandaid enum for better insertion/deletion of lines
- Insertion is placed before specified line
- Add method to calculate line length
- Correct reflow of macro doc comments
- Add proper pre- and suffix
- Ranges must be in chars
- Correct reflow of macro doc comments
- Add proper pre- and suffix
- Fix tests and remove unused stuff
- Hash-doc-macro comments are reflown properly
- Improve doccomments
- Index operator of String is in bytes(!) [], use util::sub_chars
- Use saturating_sub
- Start to fix markdown
- Make sure the right span bounds are used
- Fmt
- Fix line feed
- Remove outdated hack
- Also check
find_spans
equiv withfind_coverage
for specific spans - Sub_char_range should return empty string for oob conditions
- Be explicit about magic expect numbers
- Only set the end if we terminate iterations
- Assure consistency in prefix and suffix
- Impl a hack to deal with different indentation depths
- Simplify indentation test one more time
- Correct indentation for /// and //!
- Do not delete first space
- Do not ask the user, just apply the replacement
- Ensure reflow binary is executable
- Make sure all ranges are in chars
- Assure the collected unbreakable byte ranges are used
- Remove dbg! statement
- First attempt at adding the consumed newline
- Cmark reflow now works beside a minor newline issue
- Do not introduce newlines when content was empty
- Assure rw for git dir in validate-reflow
- Assure target dir is also cached between runs
- Check reflow feature
- Improve doc comments
- Adjust README to how it should be
- Resolve TODO
- Check content origins in parallel
- First shot at rewrapping
- Initial impl outline w/ cmark awareness
- Add indentation awareness to the iterators
- Introduce comment variant type to literal
- Hook up args
- Added comment variant for //!
- Improve error msg
- Use 🐠 and 🐢 to check if non-ascii chars work too
- Improve error msg
- Parallelize reflow per file
- Extract newline instead of assuming \n
- Add allocation free version of sub_chars as sub_char_range
- Sub_char_range works with all kinds of ranges now
- Reduce amount of data in reflow tests
- Add test and document config items
- Set thread num for debug to 1
- Test reflow in PRs too
- Add another test, print replacmenets of suggestions too
- Wrapper -> reflow, markdown -> cmark
- Update settings.json
- Format
- Some clippy warnings
- Documentation and some clippy warnings
- Set reflow default limit to 80
- Formatting
- Added and reviewed documentation
- Added TODOs
- Better todos
- Test fallout due to rebase
- Disable invalid test assumptions
- Formatting
- Fix blown-up rebase
- Rebase fixes
- Add review suggestions
- Add a warning if we fallback
- Minor
- Make sure env logger is enabled
- Miniscule
- Simplify
find_spans
inChunk
correct_lines
->apply_patches
- Use more generics
- Cleanup
- Cleanup debug statements, cargo fix
- Review nitpicks
- Added dots to comments
- Add additional debug output
- Rename task
- Remove excessive logging
- Cleanup comments
- Run reflow on README.md
- Remove comment
- Avoid another string copy
- Remove stray dbg!
- Remove commented code, dbg!
- Split iterator into two
- Avoid collect for literal set iterator over literals
- Rename find_spans_inclusive to find_enclosing_spans()
- Adjust to code style
- Return iterator on find_covered_spans
- Remove unused code (and fix tests)
- Extract
store
closure into own function - Split
FirstAidKit
fromBandaid
file - Avoid mix of concerns of suggestion,pick idx and bandaid
- Switch to enum
- Simplify
- Use enum for replacement
- Use repeat() instead of ugly vector join()
- Use enum for replacement
- Make sure symmetry is kept
- Rewrite correct_lines purely based on spans
- Split
FirstAidKit
fromBandaid
file - Use enum for replacement
- Use enum for replacement
- Make sure symmetry is kept
- Avoid abusing Err for a non-error case
- Refactor the line delimiters impl
- Introduce
struct Indentation
- Split tests into separate file
- Do not process exit if exit code would be 0
- Avoid unnecessary allocations
- Avoid crate::util::* prefixes all over the place
- Add test for very short comments
- Correct expectations
- Add test struct with too long lines
- Add tests for doc comments
- Added a long line with indentaion
- Added better demo cases for reflowing
- Add multiline test for correct_lines()
- Added macro for correction testing
- Remove redundant replacement check
- Added demo for another reflow case
- Extend tests for bandaids to #doc
- Started to fix tests
- Add commentvariant in action mod
- Add multiline test for correct_lines()
- Add commentvariant in action mod
- Add anoher long demo coment
- Distill a coverage vs find_spans test to showcase issues
- Simplify failing test
- Check span of reflow-suggestion
- Make unit test pass
- Move tests to own file
- Cleanup reflow test macros, add README.md test macro
- Add a minimal test case
- Add expect to cmark tests, expand reflow test macros
- Allow checking against individual patches as well
- Improve test output for reflow_content! macro's patches variant
- Always print the patch index
- Opencollective -> open_collective
- Nitpick
- Resolve the config with the cwd before falling back to user default
- Use 🐠 and 🐢 to check if non-ascii chars work too
- Be more forgiving and extend the lingua dictionary
- Update dependencies and address fallout
- Add opencollective
- Print config already on debug instead of trace
- Rewrite correct_lines purely based on spans
- Simplify by using serde(default) annotations
- Improve borked test, rename ambiguous names
- Add emoji test to common mark tests, use chars instead of byte ranges
- Adjust
fn find_spans()
to include partially overlapping spans - Reduce test coverage overlap, improve non overlap coverage
- ${project}/.config/spellcheck.toml was not resolved, dictionaries misspelled
- Upstream bug with tables, circumvention
- Insert additional spaces after list items and at list start
- Ignore tables for now
- Make sure replace the table by exactly one empty line
- Frenzy, complete full docs coverage
- Introduce lints
- Remove unused dependencies, bump some deps
- Unused use statements
- Signal crate must be used even on windows
- Adjust bug template
- Feature template
- Question template
- Assure log level is always trace, add e2e test module
- Remove stale debug messages
- Unify BUG logs, fmt
- Warning
- Reduce and add target for find_spans
- Extra logs and improved lingo.dic
- Remove obsolete feature item
- Move the handling of file types into documentation
- End to end test for issue case, extract macro
- Improve syntax and variable names
- Add some changes in the examples
- Introduce bad reference link handler
- Links shall work
- Improve doc comments
- .config/spellcheck.{conf,toml}
- todo -> TODO
- Bump cargo lock
- Cleanup
- Un-ignore test cases, cleanup warnings and TODOs
- Silence unused warnings
- Remove dbg!
- Re-work cmark tests a bit
- Add parametrized tests for linktypes
- Handle auto links to skip suggestions
- Check all possibles LinkType's supported
- Handle email links to skip suggestions
- Handling footnote to be continued
- Glob asterix must be outside quotation
- Handle extension delta for artifacts better
- Properly handle extra dictionaries lookup
- Adjust the erased lines to show the question
- Be more precise about the wording
- Add references on how to define custom dictionary files
- Add gitignore for demo
- Revert release task
- Signal_hooks is not working on windows
- Prepare windows releases
- Default dirs should always be kept
- Capacity is in bytes, not chars
- Allow concatenation was inverted, added counterpart + tests
- Add rust-lang/rust and spearow/juice as test cases for PRs
- Improve issue template
- Fallout
- No suggestion, less whitespaces
- Add test no suggestion, no spaces
- Improve check
- Add quirks documentation
- Do not ignore the error value of individual checkers
- Better error messages on missing config
- Add whitelist to config
- Implement transformation
- Recursive transformations and whitelisting
- Extract quirks from hunspell, add allow_concatenation
- Vscode
- Partition into more fns, add tests, add samples
- Precision comments
- Full sentence prefered
- Covered lines extraction
- Covered lines search does not require peekable
- Always recurse manifests, improve hunspell logs
- Only use fix for interactive fixes
- Re-word
- Re-word cargo toml file system completion
- Adjust to new behaviour
- Fmt + fix
- Txt[..] must be done with sub_chars(..)
- Better debug traces
- Cargo_toml does some weird completions which do not exists
- Duplicate use statement for util::sub_chars
- Remove dbg! statements
- Add test for unicode chars
- Change logic for fitting long statements
- Use iteractor and add new logic
- Use name exercpt instead of padding_till_literal
- Clean up and remove verbosity
- Rebase fallout
- Add a space to test str
- Constrain terminal size to 80 chars for tests
- Avoid showing prefix/suffix ... when nothing was cut
- Rework the offset calculation for the relevant line
- Unused vars
- Extraction by span was off by one
- Missing manifest items shall not lead to an abort
- Remove obsolete comments
- Extract sub span sanitization and improve test coverage
- There are generated docstrings which could contain "
- Workspaces and incomplete or missing files should be forgiven
- Use fancy-regex with backref for better #[doc=".. detection
- Prevent dots in cases of full left/right context printing
- Dots are not additional
- Tick the right boxes
- Call truncate method to displayed string
- Do not abort due to issues with individual files
- --skip-readme ignores manifest description and readme file
- More literal tests, less warnings
- Accuracy of underline
- Rustc pair programming
- Remove obsolete fn
- Make code more idiomatic rust
- Hide the stream and allow access to content
- Generalize and test logic, add util, review comments literal
- Add len_in_chars()
- Clean up args
- Fix comments and remove not needed code
- Remove char_sub_window
- Add dots in the comment lines
- Add allow unused in a few spots
- Allow common mark input
- Better test macros and helpers
- More test infra fixes for multiline handling
- Find_spans again
- Avoid dbg!(suggestion) and a few slips of pens
- Single character tokens must also have a span length of 1
- Assure the correct range is asserted
- Span, chunk, and tests are now multiline ready
- Warn -> trace
- Exit code must be zero now unless there was an error in the program
- Failed span calc for indented lines
- Adjust spans properly
- Improve the detection & span adjustments of /// comments
- If no indentation str is given, use ""
- Extract the spans properly
- Add link to multiline replacements to issue #25
- Refactor
- Fragment explanation
- Dev comment
- Initial handling of multiline literals
- Verify suggestion is dbg printable
- Allow prefix syntax for chyrp_up with @
- Remove commented dbg! helpers
- Use vs cargo fix
- Raw mode guard drop code simplification
- Find_spans
- Err(anyhow!(...)) becomes bail!(...)
- Err(anyhow!(...)) becomes bail!(...)
- Bump hunspell to v0.3.0, assure hunspell is bundled
- Update lock file
- Fix installation instruction for macOS with hunspell support
- Remove note about windows issue
- Update to v0.2.0
- When enabling trace, plain overlay display could cause a panic
- Use correct expect for EXPECTED in suggestion fmt test
- Format display temprory solution until #65 lands
- Update README.md about windows troubles and cleanup
- Return user selection discrimnator
- Properly propagate signals from raw mode back to main
- Add a suggestion format test
- Return the suggestion sets for end2end tests for further checks
- Track range to avoid duplicate computations
- Assure PRs are tested for usage with pipes
- Use grep instead of rg
- Prefer cargo run over explicit paths
- Simplified signal handling
- Print suggestions to stdout instead of stderr
- Exit right in interactive on ctrl+c
- Remove target_os cfg scopes
- Always exit with 130
- Remove duplicated code for terminal restoring
- Prefix and suffix trimming now uses regex and handles more variants
- Less @todo why???s
- Make tests compile quickly
- Bail if line is 0, 1-indexed
- Ignore some, make helpers public
- Gen_literal_set did not care about source passed to it
- Adjust ranges, add fluff_up! macro
- Remove zero length ranges and spans in find_spans
- Raw_extract_0 + _1
- Span calculation
- Missing 3 slashes offset
- Set_into_chunk for literalset
- R".." is a valid variant
- Span to range conversion requires the chunk
- Use chunk.as_str() for range, which is the correct reference
- Remove dbg! statements, allow x.len() == range.end as good case
- Find_spans was picking way too many items
- Introduce a magic number to make tests work
- Test multiline find_spans
- Span::try_into -> Range is not valid in this context
- Prep for the last remaining bug
- PlainOverlay::find_spans now passes too
- Remove overly verbose prints, leftover
dbg!(..)
s - Minor code cleanups
- Use debug_assert
- Restore terminal mode on SIGTERM, SIGINT and others
- Add samples
- Add module docs
- Addition test checker fns for span extraction of original content
- ChunkDisplay impl
- Add fluff_up tests
- Recover range from span and collected content
- Impl Display
- Minor changes
- Rename test cases and remove obsolete @todo entries
- Split unit-tests from compile check
- Introduce unit tests for module traversal
- Split chunk and cluster from documentation
- Move test and expand literal with trimmed checks
- Remove quirk, additional tests + X
- Additional line wraps
- Improve tests to use const items for expected and input vars
- End2end needed some modularity
- Avoid proc_macro::Span and use custom Span, remove TrimmedLiteralRef
- Added simple tests
- Improved tests
- Fixed test macro
- Add test for literalset into chunk
- Clean up, use test body from checker/mod.rs
- Workspace and bin/lib are not mutually exclusive
- Funding yaml
- Adjust issue templates
- Simplify PR template
- Do not make PR checks sequential
- No empty links
- Update interactive example
- Handle virtual workspaces, track lib.rs entry points
- Link to issues in the roadmap
- Link to issues in the roadmap, with proper links
- Better headlines
- Add license files
- Introduce constants and remove magic literals
- Add insert mode
- Assure no PRs are skipped, pull PRs first
- Cursor on custom user input position moves wrongly
- Remove debug message
- Debug pane and load output dirs from cargo check
- Remove unused var
- Master validate checks found expected issues, but must not fail job
- Allow custom fixes
- Ubuntu's package has a lib prefix
- Update Cargo.lock
- Do not error if search paths do not contain dic/aff files
- Only one affix file can ever be provided to hunspell
- Anotate yet-to-be-used fn as allow unused
- Test demo dir with the current revision of cargo-spellcheck
- Issue/pr template adjustements
- Additional run test
- Simplify loading affixes, fix acc/dic mixup
- Explicitly change ownership of resource and cache dir
- Make PR checks work
- Don't advance to next suggestion on help
- Github release must stop failing
- Terminal resize while waiting user input caused crash
- Handle ctrl-c
- Borrow and adapt issue template from concourse/concourse
- Proper sample display of interactive mode
- Trace and dbg balance
- Use a custom rust builder image
- Be explicit about the user and toolchain used
- Remove unused and pointless calls
- Update sample usage
- Adjust colours of interactive picks
- Btter interactive display
- Implement a basic replacement selection
- Assure command line stays compatible moving forward
- Clarify config subcommand and add --help
- Error if extra dictionaries can not be added
- Canonicalize relative paths in relation to the config dir, instead of cwd
- Drop the raw terminal mode guard before printing help
- Only use the long option in usage
- Allow intended usage
- Update README.md
- Avoid anyhow:: all over the place
- Avoid anyhow:: all over the place
- Also check if #{doc ="..."] works
- Applying the corrections was flawed
- Magic offset
- Apply needs a magic number
- Properly translate Span into Range
- Columns for start + end being equiv is not an issue
- Marker length was short one character
- Avoid warnings, includes one unreachable pattern resolution
- Improve a couple of doc entries
- Initial attempt writing back changes to disk
- Add tokenize test
- Remove commented code
- Improve trace logs
- Minor
- Migrate src/tests to demo dir
- Remove dbg!
- Extract correct_lines fn from correction
- Rename printable to display, and add fn display(range) for convenience
- Traversel now implements an iterator
- Add a test and add docs, adjust action test
- Adjust cargo toml test expectations
- As_untrimmed_str was returning a trimmed string
- Tokenization did drop a word if it ended with the string
- Improve README.md
- Explain why both cargo_toml and toml crates are needed
- README.md update again
- Add more inline docs to TrimmedLiteralRangePrint
- Partial impl of interactively applying fixes
- Remove explicit tag of run in traverse module
- Introduce SuggestionSet and move from paths to CheckItem (WIP)
- Introduce action.rs
- Use untrimmed in failing unit test
- Filter statement was inverted
- Update README.md
- README.md improvements
- Config subcommand works now
- Improve tests some more
- Use a relative offset instead of the source file span
- Span -> Range
- Initial concourse ci description
- Launch.json
- Use more italic
- Remove dbg! macro usage
- Simplify argv parse with match instead of if let
- Add better test result checks
- Checker filtering as cmd line arg, better tests
- Better tests
- Allow debugging the full application
- Additional empty suggestions
- Properly use CARGO_SPELLCHECK and -vvv
- Enable PlainOverlay usage in order to simplify
- Make tests more complicated
- Better custom debug fmt
- Better debug print
- Remove unused imports and fn
- Test and logging cleanups
- Separate example
- Reduce
- Convert rel to abs paths, make cargo-spellcheck and cargo spellcheck work
- Additional log flags, better cmdline parsing (again)
- Module resolution deque must initialized
- Replace redundant line
- List entry points and follow module declarations
- Smarter recursion by extracting modules
- Add --version flag
- Add Eq + Hash impl to Spans
- Missing
,
- Add
all
feature - Remove unused log::* imports
- Update install and TODOs
- 0.0.0 release
- Skeleton