Commit graph

42 commits

Author SHA1 Message Date
Henrik Lissner
037b018cdd
feat: add .doommodule files
These optional dotfiles indicate the root of a module or module
group (:lang), and will later contain module metadata. They will also
serve as an alternative to packages.el and doctor.el, and will aide the
parts of the v3.0 module API concerned with resolving the current module
from a path (`doom-module-from-path`), which currently rely too heavily
on parsing path strings.

For now, however, they're simply placeholders.
2024-09-14 20:47:39 -04:00
Henrik Lissner
a84462133d
fix(neotree): don't use all-the-icons
Fixes 'Package `all-the-icons' isn't installed' error when opening
neotree.

Ref: #7664
2024-04-01 13:16:36 -04:00
Henrik Lissner
88bb045388
docs(*): replace all-the-icons with nerd-icons
Also colorizes the leading icon in notices.
2023-09-16 20:19:11 +02:00
Henrik Lissner
7a5f5d07e7
bump: :ui
Alexander-Miller/treemacs@9986d6cd3d -> Alexander-Miller/treemacs@00e96c842f
dgutov/diff-hl@d20f16bf5e -> dgutov/diff-hl@b5651f1c57
doomemacs/themes@b5ff201f4b -> doomemacs/themes@e4f0b006a5
edkolev/evil-goggles@8f20a16e74 -> edkolev/evil-goggles@0070c9d844
ema2159/centaur-tabs@a2890d968d -> ema2159/centaur-tabs@0bb1aa18d4
emacs-lsp/lsp-treemacs@a48763ba5d -> emacs-lsp/lsp-treemacs@e66ae21965
jaypei/emacs-neotree@98fe21334a -> jaypei/emacs-neotree@2b0cb82853
k-talo/volatile-highlights.el@513c8b73cd -> k-talo/volatile-highlights.el@fcf6e27784
seagle0128/doom-modeline@6125309c2c -> seagle0128/doom-modeline@f45a5a2003
tarsius/hl-todo@a627d33214 -> tarsius/hl-todo@0faf8569b6
2023-08-20 22:26:07 +02:00
TEC
5ac2a5258b docs: change link format 2022-10-05 01:01:19 +02:00
Henrik Lissner
1abcf913aa
revert: fix(docs): set mode in file-local vars
emacs-straight/org-mode@e22b4eb7aa introduced a breaking change that
made it impossible to rely on .dir-locals.el to change org-mode buffers
in $EMACSDIR to doom-docs-org-mode (without infinite recursion), so we
used file-local variables in 7e400ab.

emacs-straight/org-mode@215de6176b reverted that change, so we can use
.dir-locals.el again, and this is my preference, since it requires less
boilerplate across our hundreds of org files.

Ref: emacs-straight/org-mode@215de6176b
Ref: emacs-straight/org-mode@e22b4eb7aa
Revert: 7e400abdc0
2022-08-07 19:08:07 +02:00
Henrik Lissner
7e400abdc0
fix(docs): set mode in file-local vars
Due to emacs-straight/org-mode@e22b4eb, a replacement major mode (for
org-mode) can no longer be specified from .dir-locals.el, as it spirals
into infinite recursion. Therefore, a mode: line is needed in all Doom
docs.

Ref: emacs-straight/org-mode@e22b4eb7aa
2022-08-03 02:46:33 +02:00
Henrik Lissner
1255315bfc
refactor(docs): replace nav menus with virtual one
Now that the header is dynamically generated (when doom-docs-mode is
active), a literal header is unnecessary.
2022-08-02 19:37:07 +02:00
Henrik Lissner
e77a45bc22
docs: use lowercase keywords
As per Org's new defaults, which we're adopting elsewhere, so may as
well adopt it here.
2022-08-02 16:23:43 +02:00
Henrik Lissner
7246db457c docs: replace doom-source with doom-repo links
I will later use "source" to refer to module sources, so better we avoid
the terminology for now.
2022-02-01 18:55:27 +01:00
Henrik Lissner
88844e9cec docs: simplify internal docs links
Fewer links means less confusion.

- Merge doom-issue and doom-commit links into doom-ref (for auto-linking
  Issue/PR/commit references).
- Merge doom-module-source and doom-docs-source links into doom-source.
- Rename doom-report-issue to doom-report.
- Use '!' as the icon for module issues link.
- Remove doom-repo (replaced with "doom:*" in :lang org module).
- Add doomdir and emacsdir links to :lang org module.
2021-11-21 20:04:28 +01:00
Henrik Lissner
b5a2aa48fe docs(:ui): update READMEs to new format 2021-11-21 20:04:28 +01:00
Henrik Lissner
cde7a06bdf
Bump :ui
Alexander-Miller/treemacs@6c00fe7 -> Alexander-Miller/treemacs@389bca1
Bad-ptr/persp-mode.el@c132efe -> Bad-ptr/persp-mode.el@298df11
abo-abo/hydra@112e689 -> abo-abo/hydra@2d55378
dimitri/switch-window@277706b -> dimitri/switch-window@5bba780
ema2159/centaur-tabs@5453317 -> ema2159/centaur-tabs@b172646
emacsorphanage/anzu@7b8688c -> emacsorphanage/anzu@b3d15fb
hlissner/emacs-doom-themes@e55d9a2 -> hlissner/emacs-doom-themes@74ebd77
iqbalansari/emacs-emojify@d886069 -> iqbalansari/emacs-emojify@9fc2277
jaypei/emacs-neotree@5e12716 -> jaypei/emacs-neotree@98fe213
joostkremers/writeroom-mode@8a226a3 -> joostkremers/writeroom-mode@92c47df
seagle0128/doom-modeline@538017a -> seagle0128/doom-modeline@fb34eb5
2020-11-29 14:33:31 -05:00
Henrik Lissner
49cdda3e3d
Bump :ui
Alexander-Miller/treemacs@ee1b523 -> Alexander-Miller/treemacs@10c96c9
abo-abo/ace-window@7e0777b -> abo-abo/ace-window@7003c88
hlissner/emacs-doom-themes@8d5ddbb -> hlissner/emacs-doom-themes@254d476
jaypei/emacs-neotree@98fe213 -> jaypei/emacs-neotree@5e12716
joostkremers/writeroom-mode@9b6e55f -> joostkremers/writeroom-mode@7f7acde

We're also transitioning from abbreviated SHA1 hashes to full ones. See
45cdfb125 for why.
2020-04-29 23:48:42 -04:00
Henrik Lissner
296cbff097
General, minor refactor & reformatting 2020-03-27 18:06:42 -04:00
Henrik Lissner
7c5903c339
Bump :ui modules
hlissner/emacs-doom-themes@0760079 -> hlissner/emacs-doom-themes@bbb3725
tarsius/hl-todo@5d2ea49 -> tarsius/hl-todo@3bba459
abo-abo/hydra@e3beffd -> abo-abo/hydra@16fa8d1
seagle0128/doom-modeline@0df5585 -> seagle0128/doom-modeline@0642f71
syohex/emacs-anzu@592f8ee -> syohex/emacs-anzu@2e69955
jaypei/emacs-neotree@c2420a4 -> jaypei/emacs-neotree@98fe213
ema2159/centaur-tabs@af50f87 -> ema2159/centaur-tabs@e6bf9f5
Alexander-Miller/treemacs@4eb8eb8 -> Alexander-Miller/treemacs@81b69d9
syohex/emacs-git-gutter-fringe@16226ca -> syohex/emacs-git-gutter-fringe@da19a47
Bad-ptr/persp-mode.el@e330e62 -> Bad-ptr/persp-mode.el@391a7dc
jabranham/mixed-pitch@6090716 -> jabranham/mixed-pitch@734fbdf
2020-03-27 16:18:52 -04:00
Henrik Lissner
c395c08788
Fix #2396: remove unnecessary neotree popup hacks
Looks like they're not needed anymore.
2020-01-26 05:00:58 -05:00
Henrik Lissner
a9402cfb55
Fix #2373: bring back package pinning
This needs some serious refactoring...
2020-01-25 19:02:00 -05:00
Henrik Lissner
dc2b9781ab
Minor refactors & reformatting 2020-01-20 01:55:31 -05:00
Henrik Lissner
4cc14389e8
PIN ALL THE PACKAGES 2020-01-14 22:32:11 -05:00
Henrik Lissner
445ba1a46d
Minor refactors & comment revision across the board 2019-12-31 19:18:02 -05:00
Henrik Lissner
d1b597fde4
Remove redundant evil keybinds for neotree
Some of these were already bound by evil-collection-neotree.
2019-12-31 19:14:43 -05:00
Henrik Lissner
0ec0ff5ecb
Minor refactors; unbind F1 from company active map 2019-12-13 14:25:30 -05:00
Henrik Lissner
3c6f48f9ec
Move evil & corrective keybinds to respective modules
Keybinds that correct behavior or provide or extend vim functionality
were moved to their respective modules, or to the :editor evil module.

Keybinds in the global space, that are particularly opinionated but
potentially harmful or imposing as a default, or likely for users to
change (like leader keys), are kept in config/default.
2019-10-26 23:44:28 -04:00
Henrik Lissner
1cb3a43e03
ui/neotree: don't manage popups
Neotree can do that on its own.
2019-10-10 16:11:41 -04:00
Henrik Lissner
713258ee31
ui/neotree: fix reference to renamed function 2019-09-02 19:17:15 -04:00
Henrik Lissner
19ecf8e46a
Correct last inline hook defuns
See a3e262c7 for rationale
2019-07-28 16:10:53 +02:00
Henrik Lissner
82ae3a73f3
def-advice!->defadvice! & conform to new advice conventions
This commit does two things:

- Renames def-advice! to defadvice!, in the spirit of naming convenience
  macros after the function/macro they enhance or replace.
- Correct the names of advice functions to indicate visibility and
  intent. A public advice function like doom-set-jump-a is meant to be
  used elsewhere. A private one like +dired--cleanup-header-line-a
  shouldn't -- it likely won't work anywhere but the function(s) it was
  made to advise.
2019-07-23 17:24:56 +02:00
Henrik Lissner
76cacb5bfe
💥 Rename def-package! -> use-package!
Calling this pivotal macro "def-package!" has frequently been a source
of confusion. It is a thin wrapper around use-package, and it should be
obvious that it is so. For this reason, and to match the naming
convention used with other convenience macros/wrappers, it is now
use-package!.

Also changes def-package-hook! -> use-package-hook!

The old macros are now marked obsolete and will be removed when straight
integration is merged.
2019-07-23 12:50:45 +02:00
Henrik Lissner
1c4215c187
Fix 'command not found' errors for hidden commands 2019-07-22 04:46:14 +02:00
Henrik Lissner
149b2617b0
💥 revise hook/var fns naming convention (2/2)
This is second of three big naming convention changes. In this commit,
we change the naming conventions for hook functions and variable
functions:

1. Replace the bar | to indicate a hook function with a -h suffix, e.g.

     doom|init-ui -> doom-init-ui-h
     doom|run-local-var-hooks -> doom-run-local-var-hooks-h

2. And add a -fn suffix for functions meant to be set on variables,
   e.g.

     (setq magit-display-buffer-function #'+magit-display-buffer-fn)

See ccf327f8 for the reasoning behind these changes.
2019-07-22 02:30:38 +02:00
Henrik Lissner
51d3b1b424
💥 revise advice naming convention (1/2)
This is first of three big naming convention updates that have been a
long time coming. With 2.1 on the horizon, all the breaking updates will
batched together in preparation for the long haul.

In this commit, we do away with the asterix to communicate that a
function is an advice function, and we replace it with the '-a' suffix.
e.g.

  doom*shut-up -> doom-shut-up-a
  doom*recenter -> doom-recenter-a
  +evil*static-reindent -> +evil--static-reindent-a

The rationale behind this change is:

1. Elisp's own formatting/indenting tools would occasionally struggle
   with | and * (particularly pp and cl-prettyprint). They have no
   problem with / and :, fortunately.
2. External syntax highlighters (like pygmentize, discord markdown or
   github markdown) struggle with it, sometimes refusing to highlight
   code beyond these symbols.
3. * and | are less expressive than - and -- in communicating the
   intended visibility, versatility and stability of a function.
4. It complicated the regexps we must use to search for them.
5. They were arbitrary and over-complicated to begin with, decided
   on haphazardly way back when Doom was simply "my private config".

Anyhow, like how predicate functions have the -p suffix, we'll adopt the
-a suffix for advice functions, -h for hook functions and -fn for
variable functions.

Other noteable changes:
- Replaces advice-{add,remove}! macro with new def-advice!
  macro. The old pair weren't as useful. The new def-advice! saves on a
  lot of space.
- Removed "stage" assertions to make sure you were using the right
  macros in the right place. Turned out to not be necessary, we'll
  employ better checks later.
2019-07-22 02:27:45 +02:00
Henrik Lissner
9a02bd8ac8
Minor refactors across the board
- when-let* -> when-let
- Fix projectile-locate-dominating-file for connected remote files
2019-06-26 14:31:06 +02:00
Henrik Lissner
8085a55bcb
ui/neotree: fix open/find-this-file commands #992
A not-so-recent update to projectile caused doom-project-root's
signature to change (it can now return nil, if not in a project). This
fixes +neotree/open and +neotree/find-this-file to account for this new
behavior, by resorting to default-directory in the absence of a project.
2018-10-31 14:45:51 -04:00
Henrik Lissner
53fe7a1f04 Refactor Project API to reflect changes upstream
projectile-project-root no longer returns `default-directory` if not in
a project (it returns nil). As such, doom-project-* functions (and their
uses) have been refactored.

+ doom-project-p & doom-project-root are aliases for
  projectile-project-p & projectile-project-root.
+ doom-project-{p,root,name,expand} now has a DIR argument (for
  consistency, since projectile-project-name and
  projectile-project-expand do not).
+ The nocache parameter is no longer necessary, as projectile's caching
  behavior is now more sane.
+ Removed some projectile advice/hacks that are no longer necessary.
+ Updated unit tests
2018-09-28 21:13:27 -04:00
Henrik Lissner
ca2c8b5a45
Minor refactor, across the board
Do you see the board? Now look at the other side. That's how far this
refactor extends.

Yes.
2018-06-18 15:02:24 +02:00
Henrik Lissner
6808c46b58
💥 Change set-popup-rule! usage
Now accepts a flat plist of all its former parameters, including new
:parameters and :actions properties to increase your control over the
fate of your windows.

The old usage of set-popup-rule! is deprecated and may not work right!

The :ui popup module has also seen a major refactor to improve
efficiency and load times.

Sorry! This is the last "big" change before 2.1!
2018-06-18 02:34:16 +02:00
Henrik Lissner
d8b1e469bc
Introduce autodefs to replace some settings
+ :popup -> set-popup-rule!
+ :popups -> set-popup-rules!
+ :company-backend -> set-company-backend!
+ :evil-state -> set-evil-initial-state!

I am slowly phasing out the setting system (def-setting! and set!),
starting with these.

What are autodefs? These are functions that are always defined, whether
or not their respective modules are enabled. However, when their modules
are disabled, they are replaced with macros that no-op and don't
waste time evaluating their arguments.

The old set! function will still work, for a while.
2018-06-15 03:42:01 +02:00
Henrik Lissner
1e4f108655
ui/neotree: non-capturing groups in neo-hidden-regexp-list
Slight optimization.
2018-05-25 00:56:19 +02:00
Henrik Lissner
80adb9c1f6
General refactor for consistency & idempotency
Also updated comments
2018-05-18 01:26:41 +02:00
Henrik Lissner
a0fa6e5b97
ui/neotree: add *.class to hidden files regexp 2018-05-14 13:05:03 +02:00
Henrik Lissner
99eef125b0
Move :tools neotree => :ui neotree 2018-05-14 13:05:03 +02:00