Commit Graph

62 Commits

Author SHA1 Message Date
765a4bb1c1 fix(lookup): use dumb-jump xref instead of dumb-jump-go
Since dumb-jump-go is deprecated, we want to use the xref backend.

Due to how lsp-mode integrates with xref-backend-functions currently,
it's not as simple as just adding dumb-jump-xref-activate to the
xref-backend-functions so this is a bit of a hacky workaround.
2025-02-21 15:12:00 -05:00
481753bd5e refactor!: remove pcre2el package
BREAKING CHANGE: This removes the pcre2el package, which Doom was using
solely for one function to escape PCREs. In the interest of thinning out
Doom's core, I've hoisted a simpler version of the function into Doom's
stdlib so I can remove the dependency.
2024-07-01 18:11:34 -04:00
9405cf0379 fix(lookup): project search backend no-op
Due to an inverted condition.
2024-06-26 20:53:31 -04:00
0a2bcf928c feat(lookup): +lookup/file: search file tree for relative paths
Given a relative file path that:

- Doesn't exist, relative to the open file/buffer (default-directory),
- Doesn't exist, relative to the project root,
- Doesn't satisfy any of the other rules in ffap-alist,
- Contains more than one segment (forward slashes),

The +lookup/file command will walk the file tree from default-directory
to the project root to search for the path, so given:

  project
  └── src
      ├── a
      │   └── a.h
      └── b
          └── b.h

This command, run on 'b/b.h' in a/a.h, will open b/b.h (but 'b.h' alone
won't work, which is intended, to reduce false positives).

Close: #7890
Co-authored-by: liuzhishan <liuzhishan@users.noreply.github.com>
2024-06-20 18:28:12 -04:00
659f7bfc71 refactor!: deprecate IS-* OS constants
BREAKING CHANGE: This deprecates the IS-(MAC|WINDOWS|LINUX|BSD) family
of global constants in favor of a native `featurep` check:

  IS-MAC      ->  (featurep :system 'macos)
  IS-WINDOWS  ->  (featurep :system 'windows)
  IS-LINUX    ->  (featurep :system 'linux)
  IS-BSD      ->  (featurep :system 'bsd)

The constants will stick around until the v3 release so folks can still
use it -- and there are still some modules that use it, but I'll phase
those uses out gradually.

Fix: #7479
2024-02-04 17:54:29 -05:00
60e22fd2eb refactor(vertico): use consult-fd
Close: #7458
Co-authored-by: LemonBreezes <look@strawberrytea.xyz>
2024-01-27 23:34:56 +02:00
3e3af2a629 fix(lookup): correctly scrape identifier in pdf-view-mode 2023-07-22 17:14:03 +02:00
ad6a3d0f33 refactor: deprecate featurep! for modulep!
featurep! will be renamed modulep! in the future, so it's been
deprecated. They have identical interfaces, and can be replaced without
issue.

featurep! was never quite the right name for this macro. It implied that
it had some connection to featurep, which it doesn't (only that it was
similar in purpose; still, Doom modules are not features). To undo such
implications and be consistent with its namespace (and since we're
heading into a storm of breaking changes with the v3 release anyway),
now was the best opportunity to begin the transition.
2022-08-14 20:43:35 +02:00
057e6c531c refactor: replace doom-enlist with ensure-list
doom-enlist is now a deprecated alias for ensure-list, which is built
into Emacs 28.1+ and is its drop-in replacement. We've already
backported it for 27.x users in doom-lib (in 4bf4978).

Ref: 4bf49785fd
2022-08-07 19:43:13 +02:00
5962db9f49 fix(lookup): xref 1.3.0 removed var xref--marker-ring
Xref started many backwards incompatible changes in the name of
performance.  The marker ring no longer exists as a variable.
+lookup--xref-show will silently fail every time.

Switches to using xref-after-jump-hook to test whether xref actually
jumped to a definition. The hook is part of the exposed interface and
should hopefully not change in the near future.

Fix: #5737
2021-11-21 19:04:35 +01:00
8e13bc68c7 fix(lookup): strip text properties from error message
Otherwise the error will display a lot of (albeit harmless) gibberish to
the end user.

Fix: #5652
2021-11-21 16:10:49 +01:00
33b646826b fix(vertico): add counsel-file-jump analogue
Fix 'SPC f F' / 'C-c f F' for vertico users
2021-07-28 12:54:23 -04:00
a0eb4e9b65 completion/selectrum -> completion/vertico, part 3
- Rename all functions and variables in the module to reflect the
  namechange (and the irc jump function)
2021-07-25 02:52:04 +03:00
24eaa1317c completion/selectrum -> completion/vertico, part 2
- Rename module from `:completion selectrum` to `:completion vertico`
- Rename all files involved
- Do *not* yet rename all the functions, as that messes up git's rename
  detection.
2021-07-25 02:51:15 +03:00
1fe0ad318b selectrum: improve :tools lookup integration
- move `consult-xref` stuff to `:tools lookup` where it belongs
- add selectrum functionality where possible, document what's beyond the
  scope of this PR
2021-07-25 02:50:42 +03:00
1840ae8a18 Backport VC-aware bug-reference-mode from 28.x
Fixes gf (+lookup/file) on issue/PR references for Emacs 27.x users,
for example:

  #1234
  doom-emacs#1234
  hlissner/doom-emacs#1234
2021-05-16 22:50:03 -04:00
ecdf2b0b08 Fix +lookup/file not opening URLs in browser 2021-04-30 01:07:00 -04:00
259cf83ef1 Enhance FFAP lookup backend
gf (+lookup/file) has been changed to:

+ Use the active selection instead of the filename-at-point when
  searching for a file (as requested in #4942).
+ Pre-fill the FFAP prompt with the thing at point if no obvious
  filepath can be guessed from it (via ffap-alist).
+ Offer to search the current project for the thing-at-point (if
  counsel-file-jump is available).
+ Fall back to a standard ffap prompt if all else fails.

I've also reversed te order of file lookup backends so that our FFAP
backend is treated as a never-failing last resort (also because the
bug-reference backend is known to fail gracefully, so we can trust it to
run first).

Closes #4942
2021-04-29 17:24:40 -04:00
d7de9118e8 Fix #4882: ffap lookup handler triggers twice
Also, fall back to counsel-file-jump before ffap.
2021-04-17 23:26:27 -04:00
d4eb7e31ac Fix #4771: give lsp-find-* precedence over fallbacks
LSP lookup handlers should have the highest precedence, but this wasn't
the case due to a regression in 430d628.
2021-03-27 21:45:19 -04:00
0a9172a8f2 tools/lookup: fall through if xref backend fails
Part 1 to solution for #4739
2021-03-05 20:09:22 -05:00
765b6dcfca Unset unused markers
In case of overlay leaks.
2020-12-12 15:56:36 -05:00
f02879dd04 Add ffap & bug-reference support to +lookup/file
And disable bug-reference-mode by default. It produces too many false
positives, particularly in web modes where color hexes in strings and
comments are very common. Now that bug-reference support is built into
+lookup/file (on gf), users can use that instead.
2020-10-30 19:09:31 -04:00
8ba2b9eafa Fix void-function xref--show-defs error
When looking up some xref backends (e.g. tide).
2020-10-15 18:13:42 -04:00
5a80db875c lang/org: add lookup handlers for src blocks
- Fixes: `set-lookup-handlers!` couldn't define :definition or
  :references handlers in text-mode derivatives.
- Adds: support for evaluating code in jupyter blocks (#2477).
2020-08-06 00:23:09 -04:00
d08f2dd888 tools/lookup: Support type definition lookup handlers 2020-05-12 01:06:23 +09:00
13134726dc tools/lookup: Support implementations lookup handlers 2020-05-12 01:03:52 +09:00
439562e526 Merge pull request #2842 from paulapatience/bugfix/synosaurus-wordnet
tools/lookup: fix synosaurus -> synosaurus-wordnet
2020-04-08 15:36:29 -04:00
b78fc4eb76 Minor refactor & reformatting across the board 2020-04-08 15:30:10 -04:00
fbbc7535ea Fix #2839: fix xref backend for lookup handlers 2020-04-08 15:30:09 -04:00
1b980c7577 tools/lookup: fix synosaurus -> synosaurus-wordnet
The synosaurus-wordnet--command variable is defined in
synosaurus-wordnet rather than in synosaurus.
2020-04-08 05:00:29 -04:00
eca387d670 Refactor +lookup/file & update :file handlers
+ Removed idris-mode's file handler. It doesn't do what I thought it
  did.
+ Fix markdown-follow-thing-at-point file handler creating empty buffer.
2020-02-06 16:55:28 -05:00
1910453e29 The byte-compiler ate my baby 2020-02-06 16:55:27 -05:00
038e52d709 tools/lookup: add +offline feature
For offline dictionary/thesaurus lookup, using wordnut and synosaurus.
2020-01-25 19:02:01 -05:00
27bf3c85b5 Generalize thing-at-point & region functions 2020-01-03 02:39:47 -05:00
8f6161f480 Generalize lookup thing-at-pt fn; fix dict/synonym commands 2020-01-02 21:16:01 -05:00
6938f8b97d Fix references to old dictionary/thesaurus lookup commands
And pass word explicitly to powerthesaurus.
2020-01-02 20:04:20 -05:00
5fe658e583 Rename synonym/dictionary definition lookup commands 2020-01-02 19:53:49 -05:00
56ef4d8800 Use powerthesaurus-lookup-word-dwim in +lookup/word-synonyms 2020-01-02 19:52:10 -05:00
d00a0af925 tools/lookup: fix missing libs for dictionary/thesaurus lookup 2019-12-24 21:59:36 -05:00
55f0be7074 tools/lookup: fix definition (on mac) & synonym lookup 2019-12-24 20:48:15 -05:00
b53703d527 General comment revision & reformatting 2019-12-21 15:01:05 -05:00
7742813a06 tools/lookup: add +dictionary feature
For looking up words in dictionaries and thesauruses. Requires internet
connection (for now).
2019-12-20 00:59:51 -05:00
a66872fe25 Focus on ripgrep; remove ag, git-grep & grep support
We're focusing on ripgrep so we can iterate on search functionality in
Doom quicker. There is nothing the other search backends can do that
ripgrep can't. It is now a hard dependency for Doom.
2019-11-17 01:19:59 -05:00
957e1dd080 Fix (set-lookup-handlers! MODES nil) syntax 2019-10-15 22:24:57 -04:00
daee52d358 Fix duplicate backends in +lookup prompts
When running a +lookup/* command with the prefix arg, you are prompted
for which backend to use, which could contain duplicates if the current
buffer has no local backends.
2019-10-03 17:16:06 -04:00
6cda303ae6 tools/lookup: conform to new conventions 2019-07-22 23:51:13 +02:00
832b7e9294 Remove witout-project-cache!, rename project-file-exists-p
To doom-project-file-exists-p, which is now a function.
2019-07-22 02:30:41 +02:00
6973a8926d tools/lookup: remove duplicate code & minor fixes
- Removes vestigial definition of +lookup/in-docsets, which would throw
  an error.
- Fixes the universal argument for this function.
- Fix multiple set-docsets! calls prepending rather than setting
  dash-docs-docsets.
- Logs search attempts for debugging purposes.
2019-07-05 16:50:03 +02:00
380c3ac268 Disable lookup handlers if minor mode is disabled 2019-06-29 00:23:13 +02:00