Org Rifle Versions Save

Rifle through your Org-mode buffers and acquire your target

1.6.0

5 years ago

Additions

Changes

  • Define actions in customizable variable helm-org-rifle-actions, which makes it easier for users to add custom actions. Thanks to Akira Komamura.

Fixes

  • Use static autoload definitions for macro-defined commands, and delete autoloads for the macro definitions. This prevents helm-org-rifle from causing org to load unnecessarily. Fixes #13. Thanks to Anders Johansson (@andersjohansson) and Chris Ruegge (@cruegge).
  • When opening an item in an indirect buffer, respect the setting of org-indirect-buffer-display, and preserve position of point in the source buffer. Thanks to Akira Komamura.
  • Remove call to org-re, a macro obsolete in Org 9.0.

1.5.2

5 years ago

Fixes

  • Use derived-mode-p to check buffers' major mode. This allows working with modes derived from Org, like org-journal-mode. Thanks to Akira Komamura.

1.5.1

5 years ago

Fixes

  • Update for change to Helm. Fixes #23. Thanks to @adam52.

1.5.0

6 years ago

Additions

  • Match to-do keywords specifically.
    • Previously, to-do keywords were matched as normal words, so searching for WAITING something would find any entry with the words waiting or something in it. Now, to-do keywords are recognized as such and are compared to the actual to-do keyword of each entry, using the list of to-do keywords specific to each buffer. So, searching for WAITING something will find entries containing the word something with the to-do status WAITING; searching for waiting something will search for waiting as a normal word, finding entries containing waiting or something without regard for their to-do status.
    • Multiple to-do keywords are matched with a boolean OR. Since each entry can only have one to-do status, searching for multiple to-do keywords would logically exclude all entries and therefore match nothing. To make it more useful (and less error-prone), multiple to-do keywords are matched with OR. For example, searching for TODO DONE something will find entries containing the word something that are marked either TODO or DONE.
  • In occur results:
    • Show a header for each source buffer.
    • Show separators between each result.
    • Fold search results individually, instead of folding the "fake" subtrees which are effectively created by inserting Org entries into the results buffer.
    • Fold every entry in a source when the org-cycle key is pressed with point on a source header.

Fixes

  • Use (org-agenda-files) function instead of the org-agenda-files variable in helm-org-rifle-agenda-files and helm-org-rifle-occur-agenda-files. This way, directory entries are expanded, and other Org customizations are respected. Thanks to Joonatan O'Rourke.
  • Fix tag negation. Negated tags were not actually being negated, and the test was wrong. Oops.
  • When helm-org-rifle-show-path is on, match against path elements. This only happens when that option is enabled, so WYSIWYG: if you can't see the paths, they aren't matched against. Note, however, that they are always checked for excluded patterns, even if the option is off. Thanks to George Singer.

Internal

  • Rewrote input parsing.
  • Factored out entry-matching.

1.4.2

6 years ago

Fixes

  • Fix node positions in occur commands. This prevented the user from jumping to the position of results in source buffers.

1.4.1

6 years ago

Fixes

  • In occur commands, get only entries, not entire subtrees. This is the intended behavior and makes it consistent with the non-occur commands.

1.4.0

7 years ago

Additions

  • New commands helm-org-rifle-occur, helm-org-rifle-occur-current-buffer, helm-org-rifle-occur-files, helm-org-rifle-occur-agenda-files, helm-org-rifle-occur-org-directories, and helm-org-rifle-occur-org-directory, which display results in an occur-like, persistent buffer. These are handy when you aren't as certain of what you're looking for and you want to keep the results visible while looking at each result's source buffer. When you click on or press RET on a result, the source buffer will be popped to alongside the results buffer, and the node will be revealed, cycled to, and the point moved to the same place. These commands do not actually use Helm at all, so maybe they should be renamed to simply org-rifle…?
  • Results can now be sorted by either the order that nodes appear in their buffers (the default) or the latest timestamp in each node. To change the sort order, run a command with a universal prefix (C-u). If helm-org-rifle-sort-order-persist is set, the sort order remains after setting it, and the default sort order may also be customized.
  • The Helm commands now support multiple selection. If multiple entries are selected, they will be displayed in-full in a read-only, occur-style buffer, like the helm-org-rifle-occur commands do.
  • All of the results in a Helm buffer can be saved to a helm-org-rifle-occur buffer by pressing C-s in the Helm buffer.
  • New option helm-org-rifle-always-show-entry-contents-chars to show some entry contents when the query only matches the heading or metadata, defaults to 50 characters.
  • New option helm-org-rifle-show-full-contents which displays each result's entire contents rather than just the context around each matching word. This is off by default, but the helm-org-rifle-occur commands activate it for their results, and you might use it selectively by calling one of the rifle commands inside a let that sets this variable.
  • New options helm-org-rifle-heading-contents-separator and helm-org-rifle-multiline. These may be useful to compact the results display when defining custom commands.
  • The functions helm-org-rifle-files and helm-org-rifle-directories (and their new -occur counterparts) now accept either a string or a list of strings.
  • Tests have been added to prevent future breakage. Whew.

Fixes

  • Tag order is now irrelevant. Previously, searching for :tag1:tag2: would not show a heading tagged :tag2:tag1:. It could be worked around by searching for :tag1: :tag2:, but that was non-obvious and counter-intuitive. This could be considered a bug-fix, but the change is significant enough that it belongs in a feature update to get more testing.
  • Negations are now matched against each node’s entire outline path and against buffer names. Previously they were only matched against the node’s own heading, not any of its parents’ headings.
  • Org links are "unlinkified" when showing match context, preventing Org syntax characters from cluttering the results.
  • The display of full outline paths in Helm buffers is tidier.
  • Fixed bug that may have prevented the first or last heading in a file from being matched.
  • Fixed bug that prevented negated tags (e.g. !:tag1:) from being negated properly.
  • Fixed very minor bug in customization settings that caused the setting for helm-org-rifle-show-entry-function to display the wrong function name, even though it worked correctly.

1.3.0

7 years ago
  • Add helm-org-rifle-agenda-files command.
  • Add helm-org-rifle-org-directory command.

1.2.0

8 years ago
  • New commands helm-org-rifle-files and helm-org-rifle-directories to search through files that may or may not already be open.
    • New option helm-org-rifle-directories-filename-regexp to control what files are searched with helm-org-rifle-directories (e.g. including .org_archive files).
    • New option helm-org-rifle-close-unopened-file-buffers to control whether new buffers opened for searching remain open. Leaving them open will make subsequent searches faster, but most users will probably prefer to not have their buffer list cluttered, so this is enabled by default.
    • New option helm-org-rifle-directories-recursive to control whether helm-org-rifle-directories recursively scans subdirectories, enabled by default. When helm-org-rifle-directories is called with a prefix, this option is inverted.
    • Add dependency on f.el.
  • When helm-org-rifle-show-path is enabled, replace Org links in headings with their descriptions. This prevents org-format-outline-path from truncating the links, making them useless for reading.
  • Show results in the order they appear in the Org file (they were shown in reverse order).