Releases: darrenldl/docfd
6.0.1
-
Fixed random UI freezes when updating search field
-
This is due to a race condition in the search cancellation mechanism that
may cause UI fiber to starve and wait forever for a cancellation
acknowledgement -
This mechanism was put in place for asynchronous search since 4.0.0
-
As usual with race conditions, this only manifests under some specific
timing by chance
-
6.0.0
-
Fixed help message of
--max-linked-token-search-dist
-
Fixed search result printing where output gets chopped off if terminal width is too small
-
Added smart additional line grabbing for search result printing
--search-result-print-snippet-min-size N
- If the search result to be printed has fewer than
N
non-space tokens,
then Docfd tries to add surrounding lines to the snippet
to give better context.
- If the search result to be printed has fewer than
--search-result-print-snippet-max-add-lines
- Controls maximum number of surrounding lines that can be added in each direction.
-
Added search result underlining when output is not a terminal,
e.g. redirected to file, piped to another command -
Changed
--search
to show all search results -
Added
--sample
that uses--search
previous behavior where (by default)
only a handful of top search results are picked for each document -
Changed
--search-result-count-per-doc
to--sample-count-per-doc
-
Added
--color
and--underline
for controlling behavior of search result
printing, they can take one of:never
always
auto
-
Removed blinking for
Tab
key presses
5.1.0
5.0.0
-
Added file globbing support in the form of
--glob
argument -
Added single line search mode arguments
--single-line-exts
--single-line-add-exts
--single-line-glob
--single-line
-
Fixed crash on empty file
- This was due to assertion failure of
max_line_num
in
Content_and_search_result_render.content_snippet
- This was due to assertion failure of
-
Changed search result printing via
Shift+P
andp
within TUI to not exit
after printing, allowing printing of more results -
Added blinking to key binding info grid to give better visual feedback,
especially for the new behavior of search result printing -
Changed to allow
--paths-from
to be specified multiple times -
Fixed handling of
.htm
fileshtm
is not a valid value for pandoc's--format
argument- Now it is rewritten to
html
before being passed to pandoc
-
Changed
--max-depth
:- Changed default from 10 to 100
- Changed to accept 0
4.0.0
-
Made document search asynchronous to search field input, so UI remains
smooth even if search is slow -
Added status to search bar:
OK
means Docfd is idling...
means Docfd is searchingERR
means Docfd failed to parse the search expression
-
Added search cancellation. Triggered by editing or clearing search field.
-
Added dynamic search distance adjustment based on notion of linked tokens
- Two tokens are linked if there is no space between them,
e.g.-
and>
are linked in->
, but not in- >
- Two tokens are linked if there is no space between them,
-
Replaced
word
withtoken
in the following options for consistency--max-word-search-dist
--index-chunk-word-count
-
Replaced
word
withtoken
in user-facing text
3.0.0
For packagers: Docfd now needs pandoc
at run time for support of .epub
, .odt
, .docx
, .fb2
, .ipynb
, .html
, and .htm
files
-
Fixed crash from search result snippet being bigger the content view pane
- Crash was from
Content_and_search_result_render.color_word_image_grid
- Crash was from
-
Added key bindings
p
: exit and print search result to stderrShift+P
: exit and print file path to stderr
-
Changed
--debug-log -
to use stderr instead of stdout -
Added non-interactive search mode where search results are printed to stdout
--search EXP
invokes non-interactive search mode with search expressionEXP
--search-result-count-per-document
sets the number of top search results printed per document--search-result-print-text-width
sets the text width to use when printing
-
Added
--start-with-search
to prefill the search field in interactive mode -
Removed content requirement expression from multi-file view
- Originally designed for file filtering, but I have almost never used
it since its addition in 1.0.0
- Originally designed for file filtering, but I have almost never used
-
Added word based line wrapping to following components of document list in multi-file view
- Document title
- Document path
- Document content preview
-
Added word breaking in word based line wrapping logic so all of the original characters
are displayed even when the terminal width is very small or when a word/token is very long -
Added
--paths-from
to specify a file containing list of paths to (also) be scanned -
Fixed search result centering in presence of line wrapping
-
Renamed
--max-fuzzy-edit
to--max-fuzzy-edit-dist
for consistency -
Changed error messages to not be capitalized to follow Rust's and Go's
guidelines on error messages -
Added fallback rendering text so Docfd does not crash from trying
to render invalid text. -
Added pandoc integration
-
Changed the logic of determining when to use stdin as document source
- Now if any paths are specified, stdin is ignored
- This change mostly came from Dune's cram test mechanism
not providing a tty to stdin, so previously Docfd would keep
trying to source from stdin even when explicit paths are provided
2.2.0
Updated README
2.1.0
2.0.0
Documentation fix
1.9.0
Updated README