Commit Graph

11029 Commits

Author SHA1 Message Date
06ed5ade3f refactor!(tree-sitter): add +tree-sitter flag
BREAKING CHANGE: break the global nature of the tree sitter
module by adding a +tree-sitter flag to every applicable module

In the background this hooks turn-on-tree-sitter-mode
to the major-mode-hook of the language.
This may also solve the eager loading of tree sitter
2022-05-22 21:26:00 +01:00
400d8d4116 feat(tree-sitter): bind textobjects to maps
Instead of binding all of the tree sitter text objects to every map
we only bind them to modes in the major-mode-language-alist
2022-05-22 21:26:00 +01:00
3fdd688356 feat(tree-sitter): ts-langs eagar loads on daemon
as ts-langs is quite heavy it makes sense to eagar load it when in
daemon mode to make the experience smoother overall
2022-05-22 21:26:00 +01:00
4eeb45f80b fix(tree-sitter): lazy load tree-sitter-langs
Some how for some reason tree-sitter-langs managed to load. If if put
its require in the block of a lazy loaded package. it would load.
If i were to set its use-package call to load it after a lazy loaded
package. it would load.

a hook (and disabling it) were the only reliable ways to get it to lazy
load
2022-05-22 21:26:00 +01:00
4552064a5a refactor(tree-sitter): move ts-langs into use-pkg
Move tree-sitter-langs into its own use-package call

This is to reflect an accepted code pattern seen in the rest of doom's
code.

This does not cause any user facing changes
2022-05-22 21:26:00 +01:00
cb269deed6 feat(tree-sitter): add function call text object
Changes:
- Bind `F` to the function call text object
- Add the text object to the table
- Realign table so it looks right to people who don't hide emphasis
markers
2022-05-22 21:25:59 +01:00
c0637e9e00 bump: :tools tree-sitter
emacs-tree-sitter/elisp-tree-sitter@588170ffbd -> emacs-tree-sitter/elisp-tree-sitter@4d9871d239
emacs-tree-sitter/tree-sitter-langs@81adcdc06a -> emacs-tree-sitter/tree-sitter-langs@fa47b55f7b
meain/evil-textobj-tree-sitter@fe4d738486 -> meain/evil-textobj-tree-sitter@eedc1f5461
2022-05-22 21:25:59 +01:00
9a34308246 bump: :tools tree-sitter
emacs-tree-sitter/elisp-tree-sitter@c7a1c34549 -> emacs-tree-sitter/elisp-tree-sitter@588170ffbd
emacs-tree-sitter/tree-sitter-langs@e7b8db7c40 -> emacs-tree-sitter/tree-sitter-langs@81adcdc06a
meain/evil-textobj-tree-sitter@f20598676f -> meain/evil-textobj-tree-sitter@fe4d738486
2022-05-22 21:25:59 +01:00
e72930c433 docs(tree-sitter): add better wording to readme 2022-05-22 21:25:59 +01:00
76d38ddc63 refactor(tree-sitter): remove doom-tree-sitter-fail-gracefully-a
Use turn-on-tree-sitter-mode instead of tree-sitter-mode directly
because the former now ignore errors.
2022-05-22 21:25:59 +01:00
56432f1649 test(tree-sitter): remove test.js
It does not belong in the module or the repo
2022-05-22 21:25:59 +01:00
6dd678a53c docs(tree-sitter): mention text object bindings 2022-05-22 21:25:58 +01:00
727fcb2fcc nit(tree-sitter): add rationale for debug mode var 2022-05-22 21:25:58 +01:00
afb1694b2b docs(tree-sitter): add links to support in feature
- Add two feature subsections discussing with links to
  - languages that have parsers
  - languages that have highlighting support
  - languages that have text object support and what text objects they
  - have support for
- Fix capitalisation
2022-05-22 21:25:58 +01:00
9251ea9db7 docs(tree-sitter): add doctor check for modules
modules support it required by tree sitter to work.
2022-05-22 21:25:58 +01:00
b610b47b90 docs(tree-sitter): make wording more verbose
include 'like other text objects' to draw similarities and make the use
case clear
2022-05-22 21:25:57 +01:00
145d75eaaa fix(tree-sitter): bind text-objs to keys 2022-05-22 21:25:57 +01:00
74a444db00 fix(tree-sitter): feature gate evil-textobj-ts
where ts stands for tree sitter

Only install 'evil-textobj-treesitter' if :editor evil +everywhere is
enabled

Also Comment which text objs are not currently not working
2022-05-22 21:25:57 +01:00
862e7980d8 module: add :tools tree-sitter
This module installs 'tree-sitter' and 'tree-sitter-langs' as well as
the 'evil-textobj-treesitter' and configures them.

This module is based on the prototype module that @hlissner has started
and I am just fleshing out that work.

It also comes with a README file

Fix: #4151
2022-05-22 21:25:57 +01:00
8a27eb99be perf(org): optimize org-roam node listings
org-roam-get-keyword performs some file IO to read file keywords from
all nodes. This can be slow with long node lists. With
org-roam/org-roam#1963, file title is baked into the schema, so we don't
need to do this work anymore.

Ref: org-roam/org-roam#1963
Fix: #6382
2022-05-09 15:43:32 +02:00
258104f750 refactor(lsp): remove emacs 26 workarounds 2022-05-05 02:19:52 +02:00
6bf725837d fix(fortran): account for spaces in filenames 2022-04-26 03:58:14 +02:00
488ad07cc5 fix(evil): define *-any-quote directly
Defining `*-any-quote` objects via the exiting `*-block` helpers leads
to incorrect behaviour, where the trailing boundary is also included as
part of the selection (cursor on `|`, selection between `|`):

```
start: "te|st"
v i q: "|test"|
```

The expected behaviour is the same as `v i "`:
```
start: "te|st"
v i q: "|test|"
```

Fix: #5698
2022-04-25 16:38:40 +02:00
65ff263668 fix(vertico): backspace keybind for tty users
The input event, [backspace], is only emitted in GUI Emacs, not TTY
Emacs.

Ref: https://discourse.doomemacs.org/t/2491/3
2022-04-22 23:36:05 +02:00
c183aa7174 fix(everywhere): inhibit local-vars hooks
Indirectly suppresses LSP (and other) servers, which will likely not
function correctly in emacs-everywhere's temp buffers anyway.
2022-04-22 23:36:05 +02:00
7640631300 docs(bidi): fix #+DATE field in readme 2022-04-22 16:01:42 +02:00
d41cff489f module: add :input bidi
* module: add :input bidi

Co-authored-by: Yoav Marco <yoavm448@gmail.com>

* docs(bidi): flesh out README.org

Co-authored-by: Itai Y. Efrat <itai3397@gmail.com>

* feat(bidi): add +bidi-global-mode

* docs(bidi): improve font setting instructions

* feat(bidi): add +bidi-(hebrew|arabic)-font

Since the Hebrew and Arabic unicode blocks cover the vast majority of
RTL languages used today, we provide these fonts so end users don't have
to bother with setting up the hooks themselves.

* feat(bidi): add smart fontify

Adds support for using the bidi fonts on surrounding whitespace and
punctuation through. On by default, customizable through
+bidi-want-smart-fontify and +bidi-smart-fontify-keywords.

Also adds face versions of the bidi fonts.

* docs(bidi): recommend known good nastaliq fonts

* fix(bidi): re-set bidi faces after changing fonts

* feat(bidi): add +bidi-paragraph-direction

This allows users to choose what bidi-paragraph-direction is set to when
+bidi-mode is on, so they can choose if they want per paragraph
alignment (the default) or to force everything to be aligned RTL

* docs(bidi): conform to verbatim/code conventions

* docs(bidi): add font overview to Features

* docs(bidi): warn on rtl forced alignment footgun

+bidi-paragraph-direction is a nice variable to have if you primarily
use +bidi-mode for rtl text buffers, but it shouldn't be used in
conjunction with +bidi-global-mode since it messes up English buffers.

Co-authored-by: Yoav Marco <yoavm448@gmail.com>
2022-04-22 00:21:32 +02:00
f51a2cdd3a fix(python): usage of obsolete alias letf
Amend: 04b76fd0ce
2022-04-18 18:14:16 +02:00
04b76fd0ce fix(python): HTTP request from pip-requirements-mode
pip-requirements-mode fetches the pypi.org package list via HTTP
request, which blocks. This can sometimes take unbearably long in cases
where the user has a slow or no internet connection.

This fix defers this behavior until the first time completion is
invoked.

Fix: #5998
2022-04-17 03:23:40 +02:00
f7e127af58 revert: gnuplot
emacs-gnuplot/gnuplot@7be3c7adde -> emacs-gnuplot/gnuplot@7138b139d2

This package was accidentally bumped in 48658d2136. The original
issue (#6080) has not been resolved upstream.

Fix: #6080
Ref: #6090
Amend: 48658d2136
2022-04-17 03:23:40 +02:00
d9e66630b5 feat(clojure): improve default variables when +lsp 2022-04-16 18:12:52 +02:00
6fc5fe56f2 docs(go): add doctor check for gopls executable 2022-04-16 18:10:37 +02:00
7b7940bb37 docs(go): disable gocode doctor check if lsp is on 2022-04-16 18:10:37 +02:00
d501b48f2e docs(fortran): show how to install Intel Fortran 2022-04-16 02:48:24 +02:00
f64a61a7e1 feat(fortran): keymappings for Intel 2022-04-16 02:48:24 +02:00
81dc9af008 feat(fortran): initial addition of ifort functions 2022-04-16 02:48:24 +02:00
ece4a74a9b feat(vertico): add +childframe option similar to ivy 2022-04-15 21:24:34 +02:00
0e48c22c3e fix(vertico): missing closing paren
And correct minor formatting inconsistencies.

Amend: c39acf284b
2022-04-12 02:51:38 +02:00
f3f260c0c0 feat(default): on evil bind rename-buffer to <leader> b R 2022-04-12 02:33:03 +02:00
c39acf284b refactor(vertico): don't suppress compression errors
This was fixed upstream

Ref: minad/marginalia#132
2022-04-12 02:32:20 +02:00
c9665f733b fix(vertico): update +vertico-workspace-buffer-state to new api
also adapt upstream improvements
2022-04-12 02:32:20 +02:00
136e7df76e bump: :completion vertico consult-lsp
gagbo/consult-lsp@5a3c4e3f42 -> gagbo/consult-lsp@a8eb3a062f
iyefrat/all-the-icons-completion@9e7d456b09 -> iyefrat/all-the-icons-completion@286e2c064a
minad/consult@36b8bc7065 -> minad/consult@d30213aa20
minad/marginalia@a514c024ac -> minad/marginalia@dbc37b373e
minad/vertico@7ec0f0c076 -> minad/vertico@46e8e05650

Close: #6279
Close: #6277
2022-04-12 02:32:20 +02:00
fd50f388a4 refactor!(vertico): fix embark-collect and rebind to C-c C-l
BREAKING CHANGE: `embark-collect-snapshot` has been renamed upstream to
`embark-collect`. Since the `C-s` mnemonic doesn't really make sense
anymore, I've moved the binding to `C-c C-l`, which has the nice bonus
of being next to the similar `C-c C-;`, and being nicer.
2022-04-12 02:32:20 +02:00
7121e993ca bump: :completion
PythonNut/helm-flx@6640fac5cb -> PythonNut/helm-flx@27dd9e3ce3
abo-abo/swiper@c97ea72285 -> abo-abo/swiper@764e0d35ba
company-mode/company-mode@073aef72dd -> company-mode/company-mode@1005540b1c
emacs-helm/helm@5b17313011 -> emacs-helm/helm@1003539c2e
minad/consult-flycheck@0ad7e8ff15 -> minad/consult-flycheck@9b40f136c0
minad/consult@473e6585c5 -> minad/consult@36b8bc7065
minad/marginalia@e63d27e6fb -> minad/marginalia@a514c024ac
minad/vertico@a92b1e47ff -> minad/vertico@7ec0f0c076
oantolin/embark@06d5caafd5 -> oantolin/embark@2890e535f5
oantolin/orderless@f2c78c4a60 -> oantolin/orderless@8f64537f55
2022-04-08 02:52:54 +02:00
4538225fc5 fix(javascript): void-function typescript-tsx-mode
Caused when you have :lang web disabled, but :lang javascript enabled.
This is a stopgap until I decide what to do with typescript-tsx-mode.

Fix: #6243
2022-04-08 02:51:50 +02:00
499cf5e626 tweak(ivy): use helpful for counsel descbinds
`counsel-describe-symbol-function' still doesn't use `helpful-symbol'
because `helpful-symbol' throws up a prompt when the symbol refers to
both a function and a variable.
2022-04-06 20:40:26 +02:00
8e33d2d04a refactor(ibuffer): +ibuffer/visit-workspace-buffer 2022-04-06 18:45:06 +02:00
065e005db9 fix(org): #+ constructs hidden forever
Leaving org-tree-slide-mode did not unhide #+ constructs.
Now +org-present-hide-blocks-h is triggered when leaving the mode as
well, fixing the behaviour.
2022-04-06 18:39:12 +02:00
6bbf837c9f fix(graphql): remove *Messages* spam
The faces were defined wrong, so every time a buffer came into focus, it
would spam *Messages*.
2022-04-06 14:31:45 +02:00
b42d7afd9a fix(default): replace vertico-repeat w/ vertico-repeat-last
vertico-repeat was replaced by vertico-repeat-last.

Amend: 0e802f4653
2022-04-05 00:05:31 +02:00