Skip to content

Releases: darrenldl/docfd

6.0.1

13 May 01:54
Compare
Choose a tag to compare
  • 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

12 May 11:10
Compare
Choose a tag to compare
  • 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.
    • --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

05 May 11:30
Compare
Choose a tag to compare
  • Fixed help message of --max-token-search-dist

  • Adjusted path display in UI to hide current working directory segment when
    applicable

  • Added missing blinking for Tab key presses

5.0.0

05 May 06:31
Compare
Choose a tag to compare
  • 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
  • Changed search result printing via Shift+P and p 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 files

    • htm 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

31 Mar 08:01
Compare
Choose a tag to compare
  • 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 searching
    • ERR 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 - >
  • Replaced word with token in the following options for consistency

    • --max-word-search-dist
    • --index-chunk-word-count
  • Replaced word with token in user-facing text

3.0.0

12 Mar 11:00
Compare
Choose a tag to compare

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
  • Added key bindings

    • p: exit and print search result to stderr
    • Shift+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 expression EXP
    • --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
  • 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

15 Feb 13:11
Compare
Choose a tag to compare
Updated README

2.1.0

23 Jan 11:39
Compare
Choose a tag to compare

2.0.0

22 Jan 15:18
Compare
Choose a tag to compare
Documentation fix

1.9.0

16 Nov 23:48
Compare
Choose a tag to compare
Updated README