Organize org-roam.el:
- Move functions so they are defined before they are referenced
- Move defcustoms to appropriate section, sort alphabetically
- Move interactive commands to appropriate section, autoload, sort.
Should not change any behavior, but make review easier.
Fixes#647: file: links are now updated to reflect the directory change.
Also fixes#554: rename-files to directories are also resolved correctly now.
Co-authored-by: Leo Vivier <leo.vivier+dev@gmail.com>
Instead of visiting file, insert library into temp buffer.
Prevents loading .dir-local dev environment, accompanying unsafe-variable prompt.
Prevents interference with org-roam.el if already open.
Useful for diagnostic information.
Should be supplemented with finer grained info (commit hash would be
ideal) once we figure out a more sophisticated approach.
Initially we thought that using hash-tables would shave some seconds
because searching for a key is O(1), but when we present completions, we
typically want them sorted, and hash-tables do not support sorted keys.
Co-authored-by: Leo Vivier <leo.vivier+dev@gmail.com>
Needed for smoother interaction with ORB. I’ve elected to keep FILTER-FN for
the moment, even though it’s a bit redundant, and the description in the
docstring is not correct with the addition of tags.
Tags are used as meta-data for files: they facilitate interactions with notes where titles are insufficient. For example, tags allow for categorization of notes: differentiating between bibliographical and structure notes during interactive commands.
Co-authored-by: Leo Vivier <leo.vivier+dev@gmail.com>
Co-authored-by: N V <44036031+progfolio@users.noreply.github.com>
Introduces '(org-roam-title-sources), which can be a list of lists. Each symbol corresponds to a function, that when called returns a list of titles. If the element is a list, use the first function in the list that returns a successful result.
`org-roam-doctor` provides a diagnostic tool for checking an Org-roam
file for things that are broken. Currently implemented is a check for
broken links, and methods to fix them. The checker is designed to be
extensible.
* (feat): simplify format of `INFO` for find-ref
The format of the `INFO` argument of `org-roam-find` has been simplified, thanks
to the split of `type` and `ref` in the db permitted by #547.
The non-interactive behaviour of `org-roam-find-ref` has also been isolated
into `org-roam--find-ref`. Even if it makes us repeat ourselves a bit, it
avoids having to nil the interactive argument just to get the non-interactive
us, which I think is better syntax.
* (feat): implement get-ref-path-completions filtering
* Ensure that multicite links are correctly split
org-ref multi-citations are handled by "cite:key1,key2". In the org-roam databases this was
previously stored as a single "cite" link to the (non-existing) key "key1,key2". This means that
cite backlinks and cite graph behaviour does not work correctly for these links.
This fix will split any cite links with a comma into separate links to each individual ref
* Refactor with ->>
* Refactor to use org-ref-split-and-strip-string instead
* Update changelog with #545
* (fix): optimize processing
* (fix): avoid repetition
Co-authored-by: Leo Vivier <leo.vivier+dev@gmail.com>