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.
This commit is contained in:
Henrik Lissner 2022-08-12 20:29:19 +02:00
parent 0407621aff
commit ad6a3d0f33
No known key found for this signature in database
GPG key ID: B60957CA074D39A3
316 changed files with 1109 additions and 1103 deletions

View file

@ -1,6 +1,6 @@
;;; lang/agda/config.el -*- lexical-binding: t; -*-
(when (and (featurep! +local)
(when (and (modulep! +local)
(executable-find "agda-mode"))
(add-load-path!
(file-name-directory (shell-command-to-string "agda-mode locate")))
@ -11,7 +11,7 @@
(set-lookup-handlers! 'agda2-mode
:definition #'agda2-goto-definition-keyboard)
(when (featurep! +tree-sitter)
(when (modulep! +tree-sitter)
(add-hook! '(agda-mode-local-vars-hook
agda2-mode-local-vars-hook)
:append #'tree-sitter!))

View file

@ -1,5 +1,5 @@
;;; lang/agda/doctor.el -*- lexical-binding: t; -*-
(assert! (or (not (featurep! +tree-sitter))
(featurep! :tools tree-sitter))
(assert! (or (not (modulep! +tree-sitter))
(modulep! :tools tree-sitter))
"This module requires (:tools tree-sitter)")

View file

@ -1,7 +1,7 @@
;; -*- no-byte-compile: t; -*-
;;; lang/agda/packages.el
(unless (featurep! +local)
(unless (modulep! +local)
(package! agda-input
:recipe (:host github :repo "agda/agda"
:files ("src/data/emacs-mode/agda-input.el")

View file

@ -14,7 +14,7 @@
:config
(setq beancount-electric-currency t)
(when (featurep! +lsp)
(when (modulep! +lsp)
(add-hook 'beancount-mode-local-vars-hook #'lsp! 'append))
(map! :map beancount-mode-map

View file

@ -17,7 +17,7 @@ This is ignored by ccls.")
`((c-mode . nil)
(c++-mode
. ,(list "-std=c++1z" ; use C++17 draft by default
(when IS-MAC
(when (featurep :os 'macos)
;; NOTE beware: you'll get abi-inconsistencies when passing
;; std-objects to libraries linked with libstdc++ (e.g. if you
;; use boost which wasn't compiled with libc++)
@ -67,7 +67,7 @@ This is ignored by ccls.")
:return "return"
:yield "#require")
(when (featurep! +tree-sitter)
(when (modulep! +tree-sitter)
(add-hook! '(c-mode-local-vars-hook
c++-mode-local-vars-hook)
:append #'tree-sitter!))
@ -125,7 +125,7 @@ This is ignored by ccls.")
(use-package! irony
:unless (featurep! +lsp)
:unless (modulep! +lsp)
:commands irony-install-server
;; Initialize compilation database, if present. Otherwise, fall back on
;; `+cc-default-compiler-options'.
@ -146,11 +146,11 @@ This is ignored by ccls.")
:hook (irony-mode . irony-eldoc))
(use-package! flycheck-irony
:when (featurep! :checkers syntax)
:when (modulep! :checkers syntax)
:config (flycheck-irony-setup))
(use-package! company-irony
:when (featurep! :completion company)
:when (modulep! :completion company)
:init (set-company-backend! 'irony-mode '(:separate company-irony-c-headers company-irony))
:config (require 'company-irony-c-headers)))
@ -166,7 +166,7 @@ This is ignored by ccls.")
(use-package! company-cmake ; for `cmake-mode'
:when (featurep! :completion company)
:when (modulep! :completion company)
:after cmake-mode
:config (set-company-backend! 'cmake-mode 'company-cmake))
@ -176,7 +176,7 @@ This is ignored by ccls.")
(use-package! company-glsl ; for `glsl-mode'
:when (featurep! :completion company)
:when (modulep! :completion company)
:after glsl-mode
:config (set-company-backend! 'glsl-mode 'company-glsl))
@ -185,7 +185,7 @@ This is ignored by ccls.")
;; Rtags Support
(use-package! rtags
:unless (featurep! +lsp)
:unless (modulep! +lsp)
;; Only initialize rtags-mode if rtags and rdm are available.
:hook ((c-mode-local-vars c++-mode-local-vars objc-mode-local-vars) . +cc-init-rtags-maybe-h)
:preface (setq rtags-install-path (concat doom-etc-dir "rtags/"))
@ -201,8 +201,8 @@ If rtags or rdm aren't available, fail silently instead of throwing a breaking e
rtags-use-bookmarks nil
rtags-completions-enabled nil
rtags-display-result-backend
(cond ((featurep! :completion ivy) 'ivy)
((featurep! :completion helm) 'helm)
(cond ((modulep! :completion ivy) 'ivy)
((modulep! :completion helm) 'helm)
('default))
;; These executables are named rtags-* on debian
rtags-rc-binary-name
@ -235,7 +235,7 @@ If rtags or rdm aren't available, fail silently instead of throwing a breaking e
;;
;; LSP
(when (featurep! +lsp)
(when (modulep! +lsp)
(add-hook! '(c-mode-local-vars-hook
c++-mode-local-vars-hook
objc-mode-local-vars-hook
@ -261,7 +261,7 @@ If rtags or rdm aren't available, fail silently instead of throwing a breaking e
:desc "References (Read)" "r" #'+cc/ccls-show-references-read
:desc "References (Write)" "w" #'+cc/ccls-show-references-write)))
(when (featurep! :tools lsp +eglot)
(when (modulep! :tools lsp +eglot)
;; Map eglot specific helper
(map! :localleader
:after cc-mode
@ -270,8 +270,7 @@ If rtags or rdm aren't available, fail silently instead of throwing a breaking e
;; NOTE : This setting is untested yet
(after! eglot
;; IS-MAC custom configuration
(when IS-MAC
(when (featurep :os 'macos)
(add-to-list 'eglot-workspace-configuration
`((:ccls . ((:clang . ,(list :extraArgs ["-isystem/Library/Developer/CommandLineTools/usr/include/c++/v1"
"-isystem/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include"
@ -279,8 +278,8 @@ If rtags or rdm aren't available, fail silently instead of throwing a breaking e
:resourceDir (cdr (doom-call-process "clang" "-print-resource-dir"))))))))))))
(use-package! ccls
:when (featurep! +lsp)
:unless (featurep! :tools lsp +eglot)
:when (modulep! +lsp)
:unless (modulep! :tools lsp +eglot)
:defer t
:init
(defvar ccls-sem-highlight-method 'font-lock)
@ -298,11 +297,12 @@ If rtags or rdm aren't available, fail silently instead of throwing a breaking e
(setq-hook! 'lsp-configure-hook
ccls-sem-highlight-method (if lsp-enable-semantic-highlighting
ccls-sem-highlight-method))
(when (or IS-MAC IS-LINUX)
(when (or (featurep :os 'macos)
(featurep :os 'linux))
(setq ccls-initialization-options
`(:index (:trackDependency 1
:threads ,(max 1 (/ (doom-system-cpus) 2))))))
(when IS-MAC
(when (featurep :os 'macos)
(setq ccls-initialization-options
(append ccls-initialization-options
`(:clang ,(list :extraArgs ["-isystem/Library/Developer/CommandLineTools/usr/include/c++/v1"

View file

@ -1,12 +1,12 @@
;; -*- lexical-binding: t; no-byte-compile: t; -*-
;;; lang/cc/doctor.el
(assert! (or (not (featurep! +lsp))
(featurep! :tools lsp))
(assert! (or (not (modulep! +lsp))
(modulep! :tools lsp))
"This module requires (:tools lsp)")
(assert! (or (not (featurep! +tree-sitter))
(featurep! :tools tree-sitter))
(assert! (or (not (modulep! +tree-sitter))
(modulep! :tools tree-sitter))
"This module requires (:tools tree-sitter)")
(when (require 'rtags nil t)
@ -22,7 +22,7 @@
(unless (file-directory-p irony-server-install-prefix)
(warn! "Irony server isn't installed. Run M-x irony-install-server")))
(when (featurep! :completion company)
(when (modulep! :completion company)
;; glslangValidator
(unless (executable-find "glslangValidator")
(warn! "Couldn't find glslangValidator. GLSL code completion is disabled")))

View file

@ -11,24 +11,24 @@
(package! opencl-mode :pin "15091eff92c33ee0d1ece40eb99299ef79fee92d")
(when (package! glsl-mode :pin "9b2e5f28e489a1f73c4aed734105618ac0dc0c43")
(when (featurep! :completion company)
(when (modulep! :completion company)
(package! company-glsl
:recipe (:host github :repo "Kaali/company-glsl")
:pin "404cd0694ab34971f9c01eb22126cd2e7d3f9dc4")))
(if (featurep! +lsp)
(unless (featurep! :tools lsp +eglot)
(if (modulep! +lsp)
(unless (modulep! :tools lsp +eglot)
;; ccls package is necessary only for lsp-mode.
(package! ccls :pin "675a5704c14a27931e835a431beea3631d92e8e6"))
(when (package! irony :pin "870d1576fb279bb93f776a71e65f45283c423a9e")
(package! irony-eldoc :pin "73e79a89fad982a2ba072f2fcc1b4e41f0aa2978")
(when (featurep! :checkers syntax)
(when (modulep! :checkers syntax)
(package! flycheck-irony :pin "42dbecd4a865cabeb301193bb4d660e26ae3befe"))
(when (featurep! :completion company)
(when (modulep! :completion company)
(package! company-irony :pin "b44711dfce445610c1ffaec4951c6ff3882b216a")
(package! company-irony-c-headers :pin "72c386aeb079fb261d9ec02e39211272f76bbd97")))
(when (package! rtags :pin "db39790fda5c2443bc790b8971ac140914f7e9c2")
(when (featurep! :completion ivy)
(when (modulep! :completion ivy)
(package! ivy-rtags))
(when (featurep! :completion helm)
(when (modulep! :completion helm)
(package! helm-rtags))))

View file

@ -14,7 +14,7 @@
(use-package! clojure-mode
:hook (clojure-mode . rainbow-delimiters-mode)
:config
(when (featurep! +lsp)
(when (modulep! +lsp)
(add-hook! '(clojure-mode-local-vars-hook
clojurec-mode-local-vars-hook
clojurescript-mode-local-vars-hook)
@ -48,7 +48,7 @@
(add-transient-hook! #'cider-stacktrace-render-cause (cider--stacktrace-adapt-to-theme))
:config
(add-hook 'cider-mode-hook #'eldoc-mode)
(unless (featurep! +lsp)
(unless (modulep! +lsp)
(set-lookup-handlers! '(cider-mode cider-repl-mode)
:definition #'+clojure-cider-lookup-definition
:documentation #'cider-doc))
@ -82,7 +82,7 @@
;; See https://github.com/clojure-emacs/cider/issues/1872
cider-repl-pop-to-buffer-on-connect 'display-only)
(when (featurep! +lsp)
(when (modulep! +lsp)
(setq cider-eldoc-display-for-symbol-at-point nil
cider-font-lock-dynamically nil)
(add-hook! 'cider-mode-hook
@ -111,7 +111,7 @@
(evil-make-overriding-map cider--debug-mode-map 'normal)
(evil-normalize-keymaps))))
(when (featurep! :ui modeline +light)
(when (modulep! :ui modeline +light)
(defvar-local cider-modeline-icon nil)
(defun +clojure--cider-set-modeline (face label)
@ -150,7 +150,7 @@
(+clojure--cider-set-modeline 'success "Cider syncronized"))))
;; Ensure that CIDER is used for sessions in org buffers.
(when (featurep! :lang org)
(when (modulep! :lang org)
(after! ob-clojure
(setq! org-babel-clojure-backend 'cider)))
@ -221,7 +221,7 @@
"s" #'cider-test-run-ns-tests-with-filters
"t" #'cider-test-run-test)))
(:when (featurep! :editor evil +everywhere)
(:when (modulep! :editor evil +everywhere)
:map cider-repl-mode-map
:i [S-return] #'cider-repl-newline-and-indent
:i [M-return] #'cider-repl-return
@ -243,10 +243,10 @@
(use-package! clj-refactor
:hook (clojure-mode . clj-refactor-mode)
:config
(unless (featurep! +lsp)
(unless (modulep! +lsp)
(set-lookup-handlers! 'clj-refactor-mode
:references #'cljr-find-usages))
(when (featurep! +lsp)
(when (modulep! +lsp)
(setq cljr-add-ns-to-blank-clj-files nil))
(map! :map clojure-mode-map
:localleader
@ -255,6 +255,6 @@
;; clojure-lsp already uses clj-kondo under the hood
(use-package! flycheck-clj-kondo
:when (and (featurep! :checkers syntax)
(not (featurep! +lsp)))
:when (and (modulep! :checkers syntax)
(not (modulep! +lsp)))
:after flycheck)

View file

@ -1,7 +1,7 @@
;; -*- lexical-binding: t; no-byte-compile: t; -*-
;;; lang/clojure/doctor.el
(when (and (featurep! :checkers syntax)
(not (featurep! +lsp)))
(when (and (modulep! :checkers syntax)
(not (modulep! +lsp)))
(unless (executable-find "clj-kondo")
(warn! "Couldn't find clj-kondo. flycheck-clj-kondo will not work.")))

View file

@ -17,5 +17,5 @@
(package! clojure-mode :pin "b6f41d74904daa9312648f3a7bea7a72fd8e140b")
(package! clj-refactor :pin "f368c56c83843396b160440f472a661a3b639862")
(package! cider :pin "b9e1cc26e2afda003a4b6c1f2a26e04f1c45f3d0")
(when (featurep! :checkers syntax)
(when (modulep! :checkers syntax)
(package! flycheck-clj-kondo :pin "ff7bed2315755cfe02ef471edf522e27b78cd5ca"))

View file

@ -152,7 +152,7 @@
:desc "Toggle (fancy)" "T" #'sly-toggle-fancy-trace
:desc "Untrace all" "u" #'sly-untrace-all)))
(when (featurep! :editor evil +everywhere)
(when (modulep! :editor evil +everywhere)
(add-hook 'sly-mode-hook #'evil-normalize-keymaps)))

View file

@ -71,7 +71,7 @@
(setq company-coq-disabled-features '(hello company-defaults spinner))
(if (featurep! :completion company)
(if (modulep! :completion company)
(define-key coq-mode-map [remap company-complete-common]
#'company-indent-or-complete-common)
;; `company-coq''s company defaults impose idle-completion on folks, so

View file

@ -4,7 +4,7 @@
(set-lookup-handlers! 'crystal-mode
:definition #'crystal-def-jump
:references #'crystal-tool-imp)
(when (featurep! +lsp)
(when (modulep! +lsp)
(add-hook 'crystal-mode-local-vars-hook #'lsp! 'append))
(map! :localleader
:map crystal-mode-map
@ -16,12 +16,12 @@
(use-package! flycheck-crystal
:when (featurep! :checkers syntax)
:when (modulep! :checkers syntax)
:after crystal-mode)
(use-package! flycheck-ameba
:when (featurep! :checkers syntax)
:when (modulep! :checkers syntax)
:after crystal-mode
:config (flycheck-ameba-setup))

View file

@ -3,6 +3,6 @@
(package! crystal-mode :pin "96a8058205b24b513d0b9307db32f05e30f9570b")
(package! inf-crystal :pin "02007b2a2a3bea44902d7c83c4acba1e39d278e3")
(when (featurep! :checkers syntax)
(when (modulep! :checkers syntax)
(package! flycheck-crystal :pin "96a8058205b24b513d0b9307db32f05e30f9570b")
(package! flycheck-ameba :pin "0c4925ae0e998818326adcb47ed27ddf9761c7dc"))

View file

@ -32,10 +32,10 @@
:when '(+csharp-sp-point-in-type-p)
:post-handlers '(("| " "SPC")))
(when (featurep! +lsp)
(when (modulep! +lsp)
(add-hook 'csharp-mode-local-vars-hook #'lsp! 'append))
(when (featurep! +tree-sitter)
(when (modulep! +tree-sitter)
(add-hook 'csharp-mode-local-vars-hook #'tree-sitter! 'append))
(defadvice! +csharp-disable-clear-string-fences-a (fn &rest args)
@ -49,7 +49,7 @@ or terminating simple string."
;; Unity shaders
(use-package! shader-mode
:when (featurep! +unity)
:when (modulep! +unity)
:mode "\\.shader\\'"
:config
(def-project-mode! +csharp-unity-mode
@ -58,7 +58,7 @@ or terminating simple string."
(use-package! sharper
:when (featurep! +dotnet)
:when (modulep! +dotnet)
:general ("C-c d" #'sharper-main-transient)
:config
(map! (:map sharper--solution-management-mode-map

View file

@ -1,11 +1,11 @@
;; -*- lexical-binding: t; no-byte-compile: t; -*-
;;; lang/csharp/doctor.el
(when (and (require 'omnisharp nil t) (not (featurep! +lsp)))
(when (and (require 'omnisharp nil t) (not (modulep! +lsp)))
(let ((omnisharp-bin (or omnisharp-server-executable-path (omnisharp--server-installation-path t))))
(unless (file-exists-p omnisharp-bin)
(warn! "Omnisharp server isn't installed, completion won't work"))))
(assert! (or (not (featurep! +tree-sitter))
(featurep! :tools tree-sitter))
(assert! (or (not (modulep! +tree-sitter))
(modulep! :tools tree-sitter))
"This module requires (:tools tree-sitter)")

View file

@ -4,7 +4,7 @@
(package! csharp-mode :pin "856ecbc0a78ae3bdc2db2ae4d16be43e2d9d9c5e")
(package! csproj-mode :pin "a7f0f4610c976a28c41b9b8299892f88b5d0336c")
(package! sln-mode :pin "0f91d1b957c7d2a7bab9278ec57b54d57f1dbd9c")
(when (featurep! +unity)
(when (modulep! +unity)
(package! shader-mode :pin "d7dc8d0d6fe8914e8b6d5cf2081ad61e6952359c"))
(when (featurep! +dotnet)
(when (modulep! +dotnet)
(package! sharper :pin "96edd4a1dbc267afdff0cb97298d1b05b7c2080c"))

View file

@ -3,7 +3,7 @@
(use-package! dart-mode
:defer t
:config
(when (featurep! +lsp)
(when (modulep! +lsp)
(add-hook 'dart-mode-local-vars-hook #'lsp! 'append))
(set-ligatures! '(dart-mode)
;; Functional
@ -27,7 +27,7 @@
(use-package! flutter
:when (featurep! +flutter)
:when (modulep! +flutter)
:defer t
:init
(map! :after dart-mode
@ -41,7 +41,7 @@
(use-package! lsp-dart
:when (featurep! +lsp)
:when (modulep! +lsp)
:defer t
:config
(map! :map dart-mode-map
@ -55,7 +55,7 @@
(use-package! hover
:when (featurep! +flutter)
:when (modulep! +flutter)
:defer t
:config
(map! :map dart-mode-map

View file

@ -1,7 +1,7 @@
;;; lang/dart/doctor.el -*- lexical-binding: t; -*-
(assert! (or (not (featurep! +lsp))
(featurep! :tools lsp))
(assert! (or (not (modulep! +lsp))
(modulep! :tools lsp))
"This module requires (:tools lsp)")
(unless (executable-find "dart")

View file

@ -3,9 +3,9 @@
(package! dart-mode :pin "3bac14200f9f8f8fcebc383087572da5c3823c34")
(when (featurep! +lsp)
(when (modulep! +lsp)
(package! lsp-dart :pin "fda433671f38874f0ebe66c43c64fec14af3f492"))
(when (featurep! +flutter)
(when (modulep! +flutter)
(package! flutter :pin "08138f8c95488aaf315a1f5d52c33deb8d28672b")
(package! hover :pin "4ca0638a14a8b304ac2b46e7b342b8d8732ad199"))

View file

@ -4,7 +4,7 @@
:defer t
:config
(set-repl-handler! 'dhall-mode #'dhall-repl-show)
(setq dhall-format-at-save (featurep! :editor format +onsave))
(setq dhall-format-at-save (modulep! :editor format +onsave))
(map! :map dhall-mode-map
:localleader
"l" #'dhall-lint

View file

@ -36,12 +36,12 @@
(sp-local-pair "do " " end" :unless '(sp-in-comment-p sp-in-string-p))
(sp-local-pair "fn " " end" :unless '(sp-in-comment-p sp-in-string-p)))
(when (featurep! +lsp)
(when (modulep! +lsp)
(add-hook 'elixir-mode-local-vars-hook #'lsp! 'append)
(after! lsp-mode
(add-to-list 'lsp-file-watch-ignored-directories "[/\\\\]_build\\'")))
(when (featurep! +tree-sitter)
(when (modulep! +tree-sitter)
(add-hook 'elixir-mode-local-vars-hook #'tree-sitter! 'append))
(after! highlight-numbers
@ -51,7 +51,7 @@
(use-package! flycheck-credo
:when (featurep! :checkers syntax)
:when (modulep! :checkers syntax)
:after elixir-mode
:config (flycheck-credo-setup))
@ -79,7 +79,7 @@
(use-package! alchemist-company
:when (featurep! :completion company)
:when (modulep! :completion company)
:commands alchemist-company
:config
(set-company-backend! 'alchemist-mode '(alchemist-company company-yasnippet))

View file

@ -1,6 +1,6 @@
;; -*- lexical-binding: t; no-byte-compile: t; -*-
;;; lang/elixir/doctor.el
(assert! (or (not (featurep! +tree-sitter))
(featurep! :tools tree-sitter))
(assert! (or (not (modulep! +tree-sitter))
(modulep! :tools tree-sitter))
"This module requires (:tools tree-sitter)")

View file

@ -5,5 +5,5 @@
(package! elixir-mode :pin "e0d0466d83ec80ddb412bb1473908a21baad1ec3")
(package! alchemist :pin "6f99367511ae209f8fe2c990779764bbb4ccb6ed")
(package! exunit :pin "0715c2dc2dca0b56c61330eda0690f90cca5f98b")
(when (featurep! :checkers syntax)
(when (modulep! :checkers syntax)
(package! flycheck-credo :pin "e88f11ead53805c361ec7706e44c3dfee1daa19f"))

View file

@ -1,11 +1,11 @@
;;; lang/elm/config.el -*- lexical-binding: t; -*-
(after! elm-mode
(if (featurep! +lsp)
(if (modulep! +lsp)
(add-hook 'elm-mode-local-vars-hook #'lsp! 'append)
(set-company-backend! 'elm-mode 'company-elm))
(when (featurep! +tree-sitter)
(when (modulep! +tree-sitter)
(add-hook 'elm-mode-local-vars-hook #'tree-sitter! 'append))
(set-repl-handler! 'elm-mode #'run-elm-interactive)
@ -21,6 +21,6 @@
(use-package! flycheck-elm
:when (featurep! :checkers syntax)
:when (modulep! :checkers syntax)
:after elm-mode
:config (add-to-list 'flycheck-checkers 'elm))

View file

@ -1,5 +1,5 @@
;;; lang/elm/doctor.el -*- lexical-binding: t; -*-
(assert! (or (not (featurep! +tree-sitter))
(featurep! :tools tree-sitter))
(assert! (or (not (modulep! +tree-sitter))
(modulep! :tools tree-sitter))
"This module requires (:tools tree-sitter)")

View file

@ -2,5 +2,5 @@
;;; lang/elm/packages.el
(package! elm-mode :pin "d4e434fa1857ba2f58d27c7520ebeac0515cd140")
(when (featurep! :checkers syntax)
(when (modulep! :checkers syntax)
(package! flycheck-elm :pin "1b60050efd4729bfba548f3e5adbcb58436667cb"))

View file

@ -171,7 +171,7 @@ employed so that flycheck still does *some* helpful linting.")
(use-package! flycheck-cask
:when (featurep! :checkers syntax)
:when (modulep! :checkers syntax)
:defer t
:init
(add-hook! 'emacs-lisp-mode-hook
@ -179,7 +179,7 @@ employed so that flycheck still does *some* helpful linting.")
(use-package! flycheck-package
:when (featurep! :checkers syntax)
:when (modulep! :checkers syntax)
:after flycheck
:config (flycheck-package-setup))

View file

@ -302,18 +302,18 @@ Or to create aliases for functions that behave differently:
:added: pre-3.0.0
:END:
#+begin_src emacs-lisp :eval no
(map! :i [tab] (cmds! (and (featurep! :editor snippets)
(map! :i [tab] (cmds! (and (modulep! :editor snippets)
(bound-and-true-p yas-minor-mode)
(yas-maybe-expand-abbrev-key-filter 'yas-expand))
#'yas-expand
(featurep! :completion company +tng)
(modulep! :completion company +tng)
#'company-indent-or-complete-common)
:m [tab] (cmds! (and (bound-and-true-p yas-minor-mode)
(evil-visual-state-p)
(or (eq evil-visual-selection 'line)
(not (memq (char-after) (list ?\( ?\[ ?\{ ?\} ?\] ?\))))))
#'yas-insert-snippet
(and (featurep! :editor fold)
(and (modulep! :editor fold)
(save-excursion (end-of-line) (invisible-p (point))))
#'+fold/toggle
(fboundp 'evil-jump-item)
@ -407,12 +407,12 @@ Or to create aliases for functions that behave differently:
:n "M-s" 'some-fn
:i "M-o" (cmd! (message "Hi"))))
(map! (:when (featurep! :completion company) ; Conditional loading
(map! (:when (modulep! :completion company) ; Conditional loading
:i "C-@" #'+company/complete
(:prefix "C-x" ; Use a prefix key
:i "C-l" #'+company/whole-lines)))
(map! (:when (featurep! :lang latex) ; local conditional
(map! (:when (modulep! :lang latex) ; local conditional
(:map LaTeX-mode-map
:localleader ; Use local leader
:desc "View" "v" #'TeX-view)) ; Add which-key description

View file

@ -11,7 +11,7 @@
(package! overseer :pin "02d49f582e80e36b4334c9187801c5ecfb027789")
(package! elisp-def :pin "dfca043ec0cbead67bd9c526cb009daf771d0fa2")
(package! elisp-demos :pin "01c301b516e9949d0239d20f6834afbc9acf0abb")
(when (featurep! :checkers syntax)
(when (modulep! :checkers syntax)
(package! flycheck-package :pin "615c1ed8c6fb7c73abec6aaa73d3fef498d231bc")
(package! flycheck-cask :pin "4b2ede6362ded4a45678dfbef1876faa42edbd58"))

View file

@ -5,5 +5,5 @@
:mode ("/rebar\\.config\\(?:\\.script\\)?\\'" . erlang-mode)
:mode ("/\\(?:app\\|sys\\)\\.config\\'" . erlang-mode)
:config
(when (featurep! +lsp)
(when (modulep! +lsp)
(add-hook 'erlang-mode-local-vars-hook #'lsp! 'append)))

View file

@ -1,6 +1,6 @@
;; -*- lexical-binding: t; no-byte-compile: t; -*-
;;; lang/erlang/doctor.el
(assert! (or (not (featurep! +lsp))
(featurep! :tools lsp))
(assert! (or (not (modulep! +lsp))
(modulep! :tools lsp))
"This module requires (:tools lsp)")

View file

@ -10,17 +10,17 @@
(use-package! ess
:commands stata SAS
:init
(unless (featurep! :lang julia)
(unless (modulep! :lang julia)
(add-to-list 'auto-mode-alist '("\\.jl\\'" . ess-julia-mode)))
:config
(setq ess-offset-continued 'straight
ess-use-flymake (not (featurep! :checkers syntax))
ess-use-flymake (not (modulep! :checkers syntax))
ess-nuke-trailing-whitespace-p t
ess-style 'DEFAULT
ess-history-directory (expand-file-name "ess-history/" doom-cache-dir))
(set-docsets! 'ess-r-mode "R")
(when (featurep! +lsp)
(when (modulep! +lsp)
(add-hook 'ess-r-mode-local-vars-hook #'lsp! 'append))
(set-repl-handler! 'ess-r-mode #'+ess/open-r-repl)
@ -92,15 +92,15 @@
(use-package! stan-mode
:when (featurep! +stan)
:when (modulep! +stan)
:hook (stan-mode . stan-mode-setup)
:hook (stan-mode . eldoc-stan-setup)
:init
(use-package! company-stan
:when (featurep! :completion company)
:when (modulep! :completion company)
:hook (stan-mode . company-stan-setup))
(use-package! flycheck-stan
:when (featurep! :checkers syntax)
:when (modulep! :checkers syntax)
:hook (stan-mode . flycheck-stan-stanc2-setup)
:hook (stan-mode . flycheck-stan-stanc3-setup)))

View file

@ -6,10 +6,10 @@
(package! polymode :pin "2094c92403fe395dfb2b8b2521da1012a966e9ab")
(package! poly-R :pin "e4a39caaf48e1c2e5afab3865644267b10610537")
(when (featurep! +stan)
(when (modulep! +stan)
(package! stan-mode :pin "150bbbe5fd3ad2b5a3dbfba9d291e66eeea1a581")
(package! eldoc-stan :pin "150bbbe5fd3ad2b5a3dbfba9d291e66eeea1a581")
(when (featurep! :completion company)
(when (modulep! :completion company)
(package! company-stan :pin "150bbbe5fd3ad2b5a3dbfba9d291e66eeea1a581"))
(when (featurep! :checkers syntax)
(when (modulep! :checkers syntax)
(package! flycheck-stan :pin "150bbbe5fd3ad2b5a3dbfba9d291e66eeea1a581")))

View file

@ -12,7 +12,7 @@ building will occur with fpm. Otherwise it will default to ifort
or gfortran, depending on what feature flags are set."
(interactive)
(cond ((+fortran--fpm-toml) (+fortran/fpm-build))
((featurep! +intel) (+fortran/ifort-compile))
((modulep! +intel) (+fortran/ifort-compile))
(t (+fortran/gfortran-compile))))
;;;###autoload
@ -24,7 +24,7 @@ building will occur with fpm. Otherwise it will default to ifort
or gfortran, depending on what feature flags are set."
(interactive)
(cond ((+fortran--fpm-toml) (+fortran/fpm-run))
((featurep! +intel) (+fortran/ifort-run))
((modulep! +intel) (+fortran/ifort-run))
(t (+fortran/gfortran-run))))
(defun +fortran--exec-name ()

View file

@ -8,7 +8,7 @@
:config
;; --- Compilation --- ;;
;; Used by `compile' (SPC c c)
(let ((cmd (cond ((featurep! +intel) "ifort ")
(let ((cmd (cond ((modulep! +intel) "ifort ")
(t "gfortran "))))
(setq-hook! 'f90-mode-hook
compile-command cmd
@ -16,7 +16,7 @@
(set-popup-rule! "^\\*fortran-compilation" :side 'right :size 0.5 :quit t)
;; --- LSP Configuration --- ;;
(when (featurep! +lsp)
(when (modulep! +lsp)
(setq lsp-clients-fortls-args '("--enable_code_actions" "--hover_signature"))
(add-hook 'f90-mode-local-vars-hook #'lsp! 'append))
@ -33,7 +33,7 @@
:desc "build" "b" #'+fortran/build
:desc "run" "r" #'+fortran/run)
(when (featurep! +intel)
(when (modulep! +intel)
(map! :map f90-mode-map
:localleader
(:prefix ("i" . "ifort")
@ -57,7 +57,7 @@
;; --- Compilation --- ;;
;; Used by `compile' (SPC c c)
(let ((cmd (cond ((featurep! +intel) "ifort ")
(let ((cmd (cond ((modulep! +intel) "ifort ")
(t "gfortran -std=legacy "))))
(setq-hook! 'fortran-mode-hook
compile-command cmd
@ -71,7 +71,7 @@
:desc "compile" "c" #'+fortran/gfortran-compile
:desc "run" "r" #'+fortran/gfortran-run))
(when (featurep! +intel)
(when (modulep! +intel)
(map! :map fortran-mode-map
:localleader
(:prefix ("i" . "ifort")

View file

@ -1,22 +1,22 @@
;; -*- lexical-binding: t; no-byte-compile: t; -*-
;;; lang/fortran/doctor.el
(assert! (or (not (featurep! +lsp))
(featurep! :tools lsp))
(assert! (or (not (modulep! +lsp))
(modulep! :tools lsp))
"This module requires (:tools lsp)")
(when (and (featurep! +intel)
(when (and (modulep! +intel)
(not (executable-find "ifort")))
(warn! "Couldn't find Intel ifort - compilation will not work."))
(when (and (not (featurep! +intel))
(when (and (not (modulep! +intel))
(not (executable-find "gfortran")))
(warn! "Couldn't find gfortran - compilation will not work."))
(unless (executable-find "fpm")
(warn! "Couldn't find fpm - project building/testing will not work."))
(when (featurep! +lsp)
(when (modulep! +lsp)
(unless (executable-find "fortls")
(warn! "Couldn't find fortls."))
(unless (executable-find "fprettify")

View file

@ -3,7 +3,7 @@
(after! fsharp-mode
(when (executable-find "dotnet")
(setq inferior-fsharp-program "dotnet fsi --readline-"))
(if (featurep! +lsp)
(if (modulep! +lsp)
(progn
(setq fsharp-ac-intellisense-enabled nil)
(add-hook 'fsharp-mode-local-vars-hook #'lsp! 'append))
@ -16,6 +16,6 @@
"b" #'fsharp-ac/pop-gotodefn-stack ; Useful for re-tracing your steps
"e" #'fsharp-eval-region
"l" #'fsharp-load-buffer-file
(:unless (featurep! +lsp)
(:unless (modulep! +lsp)
"q" #'fsharp-ac/stop-process
"t" #'fsharp-ac/show-tooltip-at-point)))

View file

@ -13,7 +13,7 @@
(set-lookup-handlers! 'gdscript-mode
:documentation #'gdscript-docs-browse-symbol-at-point)
(when (featurep! +lsp)
(when (modulep! +lsp)
(add-hook 'gdscript-mode-local-vars-hook #'lsp! 'append))
(map! :localleader

View file

@ -19,11 +19,11 @@
"gofmt"
"goimports"))))
(if (featurep! +lsp)
(if (modulep! +lsp)
(add-hook 'go-mode-local-vars-hook #'lsp! 'append)
(add-hook 'go-mode-hook #'go-eldoc-setup))
(when (featurep! +tree-sitter)
(when (modulep! +tree-sitter)
(add-hook 'go-mode-local-vars-hook #'tree-sitter! 'append))
(map! :map go-mode-map
@ -70,13 +70,13 @@
(use-package! company-go
:when (featurep! :completion company)
:unless (featurep! +lsp)
:when (modulep! :completion company)
:unless (modulep! +lsp)
:after go-mode
:config
(set-company-backend! 'go-mode 'company-go)
(setq company-go-show-annotation t))
(use-package! flycheck-golangci-lint
:when (featurep! :checkers syntax)
:when (modulep! :checkers syntax)
:hook (go-mode . flycheck-golangci-lint-setup))

View file

@ -1,12 +1,12 @@
;; -*- lexical-binding: t; no-byte-compile: t; -*-
;;; lang/go/doctor.el
(assert! (or (not (featurep! +lsp))
(featurep! :tools lsp))
(assert! (or (not (modulep! +lsp))
(modulep! :tools lsp))
"This module requires (:tools lsp)")
(assert! (or (not (featurep! +tree-sitter))
(featurep! :tools tree-sitter))
(assert! (or (not (modulep! +tree-sitter))
(modulep! :tools tree-sitter))
"This module requires (:tools tree-sitter)")
(unless (executable-find "guru")
@ -21,12 +21,12 @@
(unless (executable-find "gomodifytags")
(warn! "Couldn't find gomodifytags. Manipulating struct tags will not work"))
(when (and (featurep! :completion company)
(not (featurep! +lsp)))
(when (and (modulep! :completion company)
(not (modulep! +lsp)))
(require 'company-go)
(unless (executable-find company-go-gocode-command)
(warn! "Couldn't find gocode. Code completion won't work")))
(when (and (featurep! +lsp)
(when (and (modulep! +lsp)
(not (executable-find "gopls")))
(warn! "Couldn't find gopls."))

View file

@ -8,8 +8,8 @@
(package! go-tag :pin "59b243f2fa079d9de9d56f6e2d94397e9560310a")
(package! go-gen-test :pin "35df36dcd555233ee1a618c0f6a58ce6db4154d9")
(when (featurep! :completion company)
(when (modulep! :completion company)
(package! company-go :pin "31948b463f2fc18f8801e5a8fe511fef300eb3dd"))
(when (featurep! :checkers syntax)
(when (modulep! :checkers syntax)
(package! flycheck-golangci-lint :pin "8e446c68311048f0b87febf8ef0379e29d358851"))

View file

@ -13,7 +13,7 @@
'(all-the-icons-fileicon "graphql" :v-adjust -0.05 :face all-the-icons-rhodamine))
(setf (alist-get 'graphql-mode all-the-icons-mode-icon-alist)
'(all-the-icons-fileicon "graphql" :v-adjust -0.05 :face all-the-icons-rhodamine)))
(if (featurep! +lsp)
(if (modulep! +lsp)
(add-hook 'graphql-mode-local-vars-hook #'lsp! 'append)
(set-company-backend! 'graphql-mode 'company-graphql))

View file

@ -3,7 +3,7 @@
(package! graphql-mode :pin "9740e4027bd9313697d5cac5caaa5b15626ab1da")
(package! graphql-doc :pin "d37140267e0c426c7c18aff31900aa1650257394")
(unless (featurep! +lsp)
(unless (modulep! +lsp)
(package! company-graphql
:recipe (:host github :repo "thaenalpha/company-graphql")
:pin "aed9f5109e877944a895d08fc08bad103f03096b"))

View file

@ -10,7 +10,7 @@
(after! haskell-mode
(setq haskell-process-suggest-remove-import-lines t ; warnings for redundant imports etc
haskell-process-auto-import-loaded-modules t
haskell-process-show-overlays (not (featurep! :checkers syntax))) ; redundant with flycheck
haskell-process-show-overlays (not (modulep! :checkers syntax))) ; redundant with flycheck
(set-lookup-handlers! 'haskell-mode
:definition #'haskell-mode-jump-to-def-or-tag)
@ -32,7 +32,7 @@
(map! :map haskell-mode-map
:n "o" #'+haskell/evil-open-below
:n "O" #'+haskell/evil-open-above
(:when (featurep! :tools lookup)
(:when (modulep! :tools lookup)
[remap haskell-mode-jump-to-def-or-tag] #'+lookup/definition))
(map! :localleader
@ -44,7 +44,7 @@
(use-package! lsp-haskell
:when (featurep! +lsp)
:when (modulep! +lsp)
:after lsp-mode
:preface (add-hook 'haskell-mode-local-vars-hook #'lsp! 'append)
:config

View file

@ -1,8 +1,8 @@
;; -*- lexical-binding: t; no-byte-compile: t; -*-
;;; lang/haskell/doctor.el
(assert! (or (not (featurep! +lsp))
(featurep! :tools lsp))
(assert! (or (not (modulep! +lsp))
(modulep! :tools lsp))
"This module requires (:tools lsp)")
(unless (executable-find "cabal")
@ -11,17 +11,17 @@
(unless (executable-find "hoogle")
(warn! "Couldn't find hoogle. Documentation searching will not work."))
(unless (or (featurep! +lsp)
(unless (or (modulep! +lsp)
(executable-find "hlint"))
(warn! "Couldn't find hlint. Flycheck may have issues in haskell-mode.
Install it or enable +lsp."))
(when (and (featurep! :editor format)
(not (featurep! +lsp))
(when (and (modulep! :editor format)
(not (modulep! +lsp))
(not (executable-find "brittany")))
(warn! "Couldn't find brittany. Code formatting will not work.
Install it or enable +lsp."))
(when (and (featurep! +lsp)
(when (and (modulep! +lsp)
(not (executable-find "haskell-language-server-wrapper")))
(warn! "Couldn't find haskell-language-server."))

View file

@ -3,6 +3,6 @@
(package! haskell-mode :pin "cb573c8db5b856eb37473009f2c62e0717a1cd02")
(when (and (featurep! +lsp)
(not (featurep! :tools lsp +eglot)))
(when (and (modulep! +lsp)
(not (modulep! :tools lsp +eglot)))
(package! lsp-haskell :pin "7cf64944ab3a25ea5d6f8d5e0cd33124182df991"))

View file

@ -2,7 +2,7 @@
(after! idris-mode
(add-hook 'idris-mode-hook #'turn-on-idris-simple-indent)
(when (featurep! +lsp)
(when (modulep! +lsp)
(add-hook 'idris-mode-hook #'lsp! 'append))
(set-repl-handler! 'idris-mode 'idris-pop-to-repl)
(set-lookup-handlers! 'idris-mode

View file

@ -1,5 +1,5 @@
;;; lang/java/+eclim.el -*- lexical-binding: t; -*-
;;;###if (featurep! +eclim)
;;;###if (modulep! +eclim)
;; NOTE This submodule is incomplete
@ -44,7 +44,7 @@
(use-package! company-emacs-eclim
:when (featurep! :completion company)
:when (modulep! :completion company)
:after java-mode
:config
(set-company-backend! 'java-mode '(company-emacs-eclim)))

View file

@ -1,5 +1,5 @@
;;; lang/java/+lsp.el -*- lexical-binding: t; -*-
;;;###if (and (featurep! +lsp) (not (featurep! :tools lsp +eglot)))
;;;###if (and (modulep! +lsp) (not (modulep! :tools lsp +eglot)))
(use-package! lsp-java
:after lsp-mode
@ -7,13 +7,13 @@
(setq lsp-java-workspace-dir (concat doom-etc-dir "java-workspace"))
(add-hook 'java-mode-local-vars-hook #'lsp! 'append)
:config
(when (featurep! :tools debugger +lsp)
(when (modulep! :tools debugger +lsp)
(setq lsp-jt-root (concat lsp-java-server-install-dir "java-test/server/")
dap-java-test-runner (concat lsp-java-server-install-dir "test-runner/junit-platform-console-standalone.jar"))))
(use-package! dap-java
:when (featurep! :tools debugger +lsp)
:when (modulep! :tools debugger +lsp)
:commands dap-java-run-test-class dap-java-debug-test-class
:init
(map! :after cc-mode ; where `java-mode' is defined

View file

@ -1,12 +1,12 @@
;;; lang/java/+meghanada.el -*- lexical-binding: t; -*-
;;;###if (featurep! +meghanada)
;;;###if (modulep! +meghanada)
(use-package! meghanada
:hook (java-mode-local-vars . meghanada-mode)
:init
(setq meghanada-server-install-dir (concat doom-etc-dir "meghanada-server/")
meghanada-use-company (featurep! :completion company)
meghanada-use-flycheck (featurep! :checkers syntax)
meghanada-use-company (modulep! :completion company)
meghanada-use-flycheck (modulep! :checkers syntax)
meghanada-use-eldoc t
meghanada-use-auto-start t)

View file

@ -1,5 +1,5 @@
;;; lang/java/autoload/lsp.el -*- lexical-binding: t; -*-
;;;###if (featurep! :tools debugger +lsp)
;;;###if (modulep! :tools debugger +lsp)
;;;###autoload
(defun +java/run-test ()

View file

@ -26,11 +26,11 @@ If the depth is 2, the first two directories are removed: net.lissner.game.")
(add-hook 'java-mode-hook #'rainbow-delimiters-mode)
(cond ((featurep! +meghanada) (load! "+meghanada"))
((featurep! :tools lsp +eglot))
((featurep! +lsp) (load! "+lsp")))
(cond ((modulep! +meghanada) (load! "+meghanada"))
((modulep! :tools lsp +eglot))
((modulep! +lsp) (load! "+lsp")))
(when (featurep! +tree-sitter)
(when (modulep! +tree-sitter)
(add-hook 'java-mode-local-vars-hook #'tree-sitter! 'append))

View file

@ -1,17 +1,17 @@
;; -*- lexical-binding: t; no-byte-compile: t; -*-
;;; lang/java/doctor.el
(assert! (or (not (featurep! +lsp))
(featurep! :tools lsp))
(assert! (or (not (modulep! +lsp))
(modulep! :tools lsp))
"This module requires (:tools lsp)")
(assert! (or (not (featurep! +tree-sitter))
(featurep! :tools tree-sitter))
(assert! (or (not (modulep! +tree-sitter))
(modulep! :tools tree-sitter))
"This module requires (:tools tree-sitter)")
(unless (executable-find "javac")
(warn! "Couldn't find the javac executable, are you sure the JDK is installed?"))
(when (featurep! :editor format)
(when (modulep! :editor format)
(unless (executable-find "clang-format")
(warn! "Couldn't find clang-format. Code formatting will not work.")))

View file

@ -4,14 +4,14 @@
(package! android-mode :pin "d5332e339a1f5e30559a53feffb8442ca79265d6")
(package! groovy-mode :pin "bf732d367b16887f81d404481c11ed1a58671d4e")
(when (featurep! +meghanada)
(when (modulep! +meghanada)
(package! meghanada :pin "59c46cabb7eee715fe810ce59424934a1286df84"))
(when (featurep! +eclim)
(when (modulep! +eclim)
(package! eclim :pin "222ddd48fcf0ee01592dec77c58e0cf3f2ea1100")
(when (featurep! :completion company)
(when (modulep! :completion company)
(package! company-emacs-eclim :pin "222ddd48fcf0ee01592dec77c58e0cf3f2ea1100")))
(when (featurep! +lsp)
(unless (featurep! :tools lsp +eglot)
(when (modulep! +lsp)
(unless (modulep! :tools lsp +eglot)
(package! lsp-java :pin "0968038b9aea52ef3bf499e597cf3800d913c059")))

View file

@ -74,7 +74,7 @@
js-switch-indent-offset js2-basic-offset)
(use-package! xref-js2
:when (featurep! :tools lookup)
:when (modulep! :tools lookup)
:init
(setq xref-js2-search-program 'rg)
(set-lookup-handlers! 'rjsx-mode
@ -94,7 +94,7 @@
:hook (typescript-mode . rainbow-delimiters-mode)
:hook (typescript-tsx-mode . rainbow-delimiters-mode)
:init
(when (featurep! :lang web)
(when (modulep! :lang web)
(autoload 'typescript-tsx-mode "typescript-mode" nil t))
;; REVIEW We associate TSX files with `typescript-tsx-mode' derived from
@ -102,17 +102,17 @@
;; JSX/TSX. See emacs-typescript/typescript.el#4
(add-to-list 'auto-mode-alist
(cons "\\.tsx\\'"
(if (featurep! :lang web)
(if (modulep! :lang web)
#'typescript-tsx-mode
#'typescript-mode)))
(when (featurep! :checkers syntax)
(when (modulep! :checkers syntax)
(after! flycheck
(flycheck-add-mode 'javascript-eslint 'web-mode)
(flycheck-add-mode 'javascript-eslint 'typescript-mode)
(flycheck-add-mode 'javascript-eslint 'typescript-tsx-mode)
(flycheck-add-mode 'typescript-tslint 'typescript-tsx-mode)
(unless (featurep! +lsp)
(unless (modulep! +lsp)
(after! tide
(flycheck-add-next-checker 'typescript-tide '(warning . javascript-eslint) 'append)
(flycheck-add-mode 'typescript-tide 'typescript-tsx-mode)))
@ -125,10 +125,10 @@
:config
(when (fboundp 'web-mode)
(define-derived-mode typescript-tsx-mode web-mode "TypeScript-TSX")
(when (featurep! +lsp)
(when (modulep! +lsp)
(after! lsp-mode
(add-to-list 'lsp--formatting-indent-alist '(typescript-tsx-mode . typescript-indent-level))))
(when (featurep! +tree-sitter)
(when (modulep! +tree-sitter)
(after! evil-textobj-tree-sitter
(pushnew! evil-textobj-tree-sitter-major-mode-language-alist '(typescript-tsx-mode . "tsx")))
(after! tree-sitter
@ -166,7 +166,7 @@
;;
;;; Tools
(when (featurep! +tree-sitter)
(when (modulep! +tree-sitter)
(add-hook! '(js2-mode-local-vars-hook
typescript-mode-local-vars-hook
typescript-tsx-mode-local-vars-hook
@ -192,7 +192,7 @@ to tide."
;; file-visiting buffer
(add-hook 'after-save-hook #'+javascript-init-lsp-or-tide-maybe-h
nil 'local)
(or (if (featurep! +lsp) (lsp!))
(or (if (modulep! +lsp) (lsp!))
;; fall back to tide
(if (executable-find "node")
(and (require 'tide nil t)
@ -267,7 +267,7 @@ to tide."
(:prefix ("w" . "wrap"))
(:prefix ("3" . "ternary"))))
:config
(when (featurep! :editor evil +everywhere)
(when (modulep! :editor evil +everywhere)
(add-hook 'js2-refactor-mode-hook #'evil-normalize-keymaps)
(let ((js2-refactor-mode-map (evil-get-auxiliary-keymap js2-refactor-mode-map 'normal t t)))
(js2r-add-keybindings-with-prefix (format "%s r" doom-localleader-key)))))

View file

@ -1,10 +1,10 @@
;; -*- lexical-binding: t; no-byte-compile: t; -*-
;;; lang/javascript/doctor.el
(assert! (or (not (featurep! +lsp))
(featurep! :tools lsp))
(assert! (or (not (modulep! +lsp))
(modulep! :tools lsp))
"This module requires (:tools lsp)")
(assert! (or (not (featurep! +tree-sitter))
(featurep! :tools tree-sitter))
(assert! (or (not (modulep! +tree-sitter))
(modulep! :tools tree-sitter))
"This module requires (:tools tree-sitter)")

View file

@ -16,5 +16,5 @@
;; Programming environment
(package! tide :pin "b93e555858edc331ba33d1d8bd4582d578c7ca31")
(when (featurep! :tools lookup)
(when (modulep! :tools lookup)
(package! xref-js2 :pin "fd6b723e7f1f9793d189a815e1904364dc026b03"))

View file

@ -3,9 +3,9 @@
(use-package! json-mode
:mode "\\.js\\(?:on\\|[hl]int\\(?:rc\\)?\\)\\'"
:init
(when (featurep! +lsp)
(when (modulep! +lsp)
(add-hook 'json-mode-local-vars-hook #'lsp! 'append))
(when (featurep! +tree-sitter)
(when (modulep! +tree-sitter)
(add-hook! '(json-mode-local-vars-hook
jsonc-mode-local-vars-hook)
:append #'tree-sitter!))
@ -26,7 +26,7 @@
(use-package! counsel-jq
:when (featurep! :completion ivy)
:when (modulep! :completion ivy)
:defer t
:init
(map! :after json-mode

View file

@ -1,9 +1,9 @@
;;; lang/json/doctor.el -*- lexical-binding: t; -*-
(when (and (featurep! :completion ivy)
(when (and (modulep! :completion ivy)
(not (executable-find "jq")))
(warn! "Couldn't find jq. counsel-jq won't work." ))
(assert! (or (not (featurep! +tree-sitter))
(featurep! :tools tree-sitter))
(assert! (or (not (modulep! +tree-sitter))
(modulep! :tools tree-sitter))
"This module requires (:tools tree-sitter)")

View file

@ -3,5 +3,5 @@
(package! json-mode :pin "eedb4560034f795a7950fa07016bd4347c368873")
(package! json-snatcher :pin "b28d1c0670636da6db508d03872d96ffddbc10f2")
(when (featurep! :completion ivy)
(when (modulep! :completion ivy)
(package! counsel-jq :pin "8cadd2e96470402ede4881b4e955872976443689"))

View file

@ -5,10 +5,10 @@
:config
(set-repl-handler! 'julia-mode #'+julia/open-repl)
(when (featurep! +lsp)
(when (modulep! +lsp)
(add-hook 'julia-mode-local-vars-hook #'lsp! 'append))
(when (featurep! +tree-sitter)
(when (modulep! +tree-sitter)
(add-hook 'julia-mode-local-vars-hook #'tree-sitter! 'append))
;; Borrow matlab.el's fontification of math operators. From
@ -54,7 +54,7 @@
:config
(set-popup-rule! "^\\*julia.*\\*$" :ttl nil)
(when (featurep! :ui workspaces)
(when (modulep! :ui workspaces)
(defadvice! +julia--namespace-repl-buffer-to-workspace-a (&optional executable-key suffix)
"Name for a Julia REPL inferior buffer. Uses workspace name for doom emacs"
:override #'julia-repl--inferior-buffer-name
@ -72,8 +72,8 @@
(use-package! lsp-julia
:when (featurep! +lsp)
:unless (featurep! :tools lsp +eglot)
:when (modulep! +lsp)
:unless (modulep! :tools lsp +eglot)
:after lsp-mode
:preface (setq lsp-julia-default-environment nil)
:init
@ -86,8 +86,8 @@
(use-package! eglot-jl
:when (featurep! +lsp)
:when (featurep! :tools lsp +eglot)
:when (modulep! +lsp)
:when (modulep! :tools lsp +eglot)
:after eglot
:preface
;; Prevent auto-install of LanguageServer.jl

View file

@ -1,14 +1,14 @@
;;; lang/julia/doctor.el -*- lexical-binding: t; -*-
(assert! (or (not (featurep! +lsp))
(featurep! :tools lsp))
(assert! (or (not (modulep! +lsp))
(modulep! :tools lsp))
"This module requires (:tools lsp)")
(assert! (or (not (featurep! +tree-sitter))
(featurep! :tools tree-sitter))
(assert! (or (not (modulep! +tree-sitter))
(modulep! :tools tree-sitter))
"This module requires (:tools tree-sitter)")
(when (featurep! +lsp)
(when (modulep! +lsp)
(let ((args
(cond ((require 'eglot-jl nil t)
`(,eglot-jl-julia-command

View file

@ -4,7 +4,7 @@
(package! julia-mode :pin "47f43f7d839019cac3ba6559d93b29487ca118cb")
(package! julia-repl :pin "6c1d63511fb2b3b3f2e342eff6a375d78be6c12c")
(when (featurep! +lsp)
(if (featurep! :tools lsp +eglot)
(when (modulep! +lsp)
(if (modulep! :tools lsp +eglot)
(package! eglot-jl :pin "2e35cf9768d97a0429a72deddbe30d6d7722d454")
(package! lsp-julia :pin "d6688bb131ff4a5a0201f6d3826ef0b018265389")))

View file

@ -1,7 +1,7 @@
;;; lang/kotlin/config.el -*- lexical-binding: t; -*-
(after! kotlin-mode
(when (featurep! +lsp)
(when (modulep! +lsp)
(add-hook 'kotlin-mode-local-vars-hook #'lsp! 'append))
(set-docsets! 'kotlin-mode "Kotlin")
(set-repl-handler! 'kotlin-mode #'kotlin-repl)
@ -15,5 +15,5 @@
(use-package! flycheck-kotlin
:when (featurep! :checkers syntax)
:when (modulep! :checkers syntax)
:hook (kotlin-mode . flycheck-kotlin-setup))

View file

@ -3,6 +3,6 @@
(unless (executable-find "ktlint")
(warn! "ktlint not found. flycheck-kotlin won't work."))
(assert! (or (not (featurep! +lsp))
(featurep! :tools lsp))
(assert! (or (not (modulep! +lsp))
(modulep! :tools lsp))
"This module requires (:tools lsp)")

View file

@ -3,5 +3,5 @@
(package! kotlin-mode :pin "3e0c34087ba4965a8bf08d3f27325f0a1e631bfb")
(when (featurep! :checkers syntax)
(when (modulep! :checkers syntax)
(package! flycheck-kotlin :pin "bf1b398bdde128806a0a7479ebbe369bbaa40dae"))

View file

@ -21,7 +21,7 @@
;; This is needed when `reftex-cite-format' is set. See
;; https://superuser.com/a/1386206
LaTeX-reftex-cite-format-auto-activate nil)
(when (featurep! :editor evil)
(when (modulep! :editor evil)
(add-hook 'reftex-mode-hook #'evil-normalize-keymaps))
(map! :map reftex-mode-map
:localleader

View file

@ -38,7 +38,7 @@
(add-to-list 'TeX-view-program-selection '(output-pdf "Evince"))))
(`pdf-tools
(when (featurep! :tools pdf)
(when (modulep! :tools pdf)
(add-to-list 'TeX-view-program-selection '(output-pdf "PDF Tools"))
(when IS-MAC
;; PDF Tools isn't in `TeX-view-program-list-builtin' on macs.

View file

@ -98,7 +98,7 @@ If no viewer is found, `latex-preview-pane-mode' is used.")
;; quotes or not, via `+latex-enable-plain-double-quotes'.
(sp-local-pair modes "``" nil :unless '(:add sp-in-math-p))))
;; Hook LSP, if enabled.
(when (featurep! +lsp)
(when (modulep! +lsp)
(add-hook! '(tex-mode-local-vars-hook
latex-mode-local-vars-hook)
:append #'lsp!))
@ -116,7 +116,7 @@ If no viewer is found, `latex-preview-pane-mode' is used.")
(use-package! tex-fold
:when (featurep! +fold)
:when (modulep! +fold)
:hook (TeX-mode . +latex-TeX-fold-buffer-h)
:hook (TeX-mode . TeX-fold-mode)
:config
@ -128,7 +128,7 @@ If no viewer is found, `latex-preview-pane-mode' is used.")
(advice-add #'cdlatex-math-symbol :after #'+latex-fold-last-macro-a)
(advice-add #'cdlatex-math-modify :after #'+latex-fold-last-macro-a)
;; Fold after snippets.
(when (featurep! :editor snippets)
(when (modulep! :editor snippets)
(add-hook! 'TeX-fold-mode-hook
(defun +latex-fold-snippet-contents-h ()
(add-hook! 'yas-after-exit-snippet-hook :local
@ -207,7 +207,7 @@ Math faces should stay fixed by the mixed-pitch blacklist, this is mostly for
(use-package! cdlatex
:when (featurep! +cdlatex)
:when (modulep! +cdlatex)
:hook (LaTeX-mode . cdlatex-mode)
:hook (org-mode . org-cdlatex-mode)
:config
@ -225,7 +225,7 @@ Math faces should stay fixed by the mixed-pitch blacklist, this is mostly for
"<" nil
;; TAB is used for CDLaTeX's snippets and navigation. But we have
;; Yasnippet for that.
(:when (featurep! :editor snippets)
(:when (modulep! :editor snippets)
"TAB" nil)
;; AUCTeX takes care of auto-inserting {} on _^ if you want, with
;; `TeX-electric-sub-and-superscript'.
@ -242,7 +242,7 @@ Math faces should stay fixed by the mixed-pitch blacklist, this is mostly for
(use-package! auctex-latexmk
:when (featurep! +latexmk)
:when (modulep! +latexmk)
:after latex
:init
;; Pass the -pdf flag when TeX-PDF-mode is active.
@ -255,12 +255,12 @@ Math faces should stay fixed by the mixed-pitch blacklist, this is mostly for
(use-package! evil-tex
:when (featurep! :editor evil +everywhere)
:when (modulep! :editor evil +everywhere)
:hook (LaTeX-mode . evil-tex-mode))
(use-package! company-auctex
:when (featurep! :completion company)
:when (modulep! :completion company)
:defer t
:init
(add-to-list '+latex--company-backends #'company-auctex-environments nil #'eq)
@ -268,7 +268,7 @@ Math faces should stay fixed by the mixed-pitch blacklist, this is mostly for
(use-package! company-math
:when (featurep! :completion company)
:when (modulep! :completion company)
:defer t
:init
(add-to-list '+latex--company-backends #'+latex-symbols-company-backend nil #'eq))

View file

@ -7,20 +7,20 @@
:pin "830e40a0639aedc6c362a3a01e160aaa8246bb99")
(package! adaptive-wrap :pin "0d5b4a07de76d87dd64333a566a8a0a845f2b9f0")
(package! latex-preview-pane :pin "5297668a89996b50b2b62f99cba01cc544dbed2e")
(when (featurep! :editor evil +everywhere)
(when (modulep! :editor evil +everywhere)
(package! evil-tex :pin "0fa85c3fc88d96621002b5a1b79efcc06776642f"))
;; Optional module features.
(when (featurep! +latexmk)
(when (modulep! +latexmk)
(package! auctex-latexmk :pin "4d353522650d7685acbf1d38f7dbc504f734bd84"))
(when (featurep! +cdlatex)
(when (modulep! +cdlatex)
(package! cdlatex :pin "8e963c68531f75e459e8ebe7a34fd3ba9d3729a0"))
;; Features according to other user selected options.
(when (featurep! :completion company)
(when (modulep! :completion company)
(package! company-auctex :pin "9400a2ec7459dde8cbf1a5d50dfee4e300ed7e18")
(package! company-reftex :pin "42eb98c6504e65989635d95ab81b65b9d5798e76")
(package! company-math :pin "45778f5731c97a21a83e3b965cbde42018709afd"))

View file

@ -29,7 +29,7 @@
(use-package! company-lean
:when (featurep! :completion company)
:when (modulep! :completion company)
:after lean-mode
:init
(advice-add #'company-lean-hook :override #'ignore)

View file

@ -3,5 +3,5 @@
(package! lean-mode :pin "c1c68cc946eb31b6ba8faefdceffce1f77ca52df")
(when (featurep! :completion company)
(when (modulep! :completion company)
(package! company-lean :pin "c1c68cc946eb31b6ba8faefdceffce1f77ca52df"))

View file

@ -38,12 +38,12 @@
(use-package! flycheck-ledger
:when (featurep! :checkers syntax)
:when (modulep! :checkers syntax)
:after ledger-mode)
(use-package! evil-ledger
:when (featurep! :editor evil +everywhere)
:when (modulep! :editor evil +everywhere)
:hook (ledger-mode . evil-ledger-mode)
:config
(set-evil-initial-state! 'ledger-report-mode 'normal)

View file

@ -3,8 +3,8 @@
(package! ledger-mode :pin "b55384d9cd14aa0ba3eb100660f929cfa6674558")
(when (featurep! :editor evil)
(when (modulep! :editor evil)
(package! evil-ledger :pin "7a9f9f5d39c42fffdba8004f8982642351f2b233"))
(when (featurep! :checkers syntax)
(when (modulep! :checkers syntax)
(package! flycheck-ledger :pin "628e25ba66604946085571652a94a54f4d1ad96f"))

View file

@ -17,7 +17,7 @@ Returns nil if 'love' executable can't be found."
(if (doom-project-p)
(file-name-directory
(or (project-file-exists-p! (or "main.lua" "src/main.lua"))
(and (featurep! +moonscript)
(and (modulep! +moonscript)
(project-file-exists-p! (or "main.moon" "src/main.moon")))
""))
;; Since Love2D games are likely to be prototypes, they may not be in a
@ -26,7 +26,7 @@ Returns nil if 'love' executable can't be found."
(or (projectile-locate-dominating-file default-directory "main.lua")
(when-let (root (projectile-locate-dominating-file default-directory "src/main.lua"))
(expand-file-name "src" root))
(and (featurep! +moonscript)
(and (modulep! +moonscript)
(or (projectile-locate-dominating-file default-directory "main.moon")
(when-let (root (projectile-locate-dominating-file default-directory "src/main.moon"))
(expand-file-name "src" root))))))))

View file

@ -1,5 +1,5 @@
;;; lang/lua/autoload/moonscript.el -*- lexical-binding: t; -*-
;;;###if (featurep! +moonscript)
;;;###if (modulep! +moonscript)
;;;###autoload
(defun +lua-moonscript-fix-single-quotes-h ()

View file

@ -18,10 +18,10 @@
(set-repl-handler! 'lua-mode #'+lua/open-repl)
(set-company-backend! 'lua-mode '(company-lua company-yasnippet))
(when (featurep! +lsp)
(when (modulep! +lsp)
(add-hook 'lua-mode-local-vars-hook #'lsp! 'append)
(when (featurep! :tools lsp +eglot)
(when (modulep! :tools lsp +eglot)
(defvar +lua-lsp-dir (concat doom-etc-dir "lsp/lua-language-server/")
"Absolute path to the directory of sumneko's lua-language-server.
@ -34,9 +34,9 @@ lua-language-server.")
;; is a function is to dynamically change when/if `+lua-lsp-dir' does
(list (or (executable-find "lua-language-server")
(doom-path +lua-lsp-dir
(cond (IS-MAC "bin/macOS")
(IS-LINUX "bin/Linux")
(IS-WINDOWS "bin/Windows"))
(cond ((featurep :os 'macos) "bin/macOS")
((featurep :os 'linux) "bin/Linux")
((featurep :os 'windows) "bin/Windows"))
"lua-language-server"))
"-E" "-e" "LANG=en"
(doom-path +lua-lsp-dir "main.lua")))
@ -45,7 +45,7 @@ lua-language-server.")
(use-package! moonscript
:when (featurep! +moonscript)
:when (modulep! +moonscript)
:defer t
:config
(setq-hook! 'moonscript-mode-hook
@ -53,12 +53,12 @@ lua-language-server.")
(add-hook! 'moonscript-mode-hook
#'+lua-moonscript-fix-single-quotes-h
#'+lua-moonscript-fontify-interpolation-h)
(when (featurep! :checkers syntax)
(when (modulep! :checkers syntax)
(require 'flycheck-moonscript nil t)))
(use-package! fennel-mode
:when (featurep! +fennel)
:when (modulep! +fennel)
:defer t
:config
(set-lookup-handlers! 'fennel-mode

View file

@ -3,15 +3,15 @@
(package! lua-mode :pin "5a9bee8d5fc978dc64fcb677167417010321ba65")
(when (featurep! +moonscript)
(when (modulep! +moonscript)
(package! moonscript :pin "56f90471e2ced2b0a177aed4d8c2f854797e9cc7")
(when (featurep! :checkers syntax)
(when (modulep! :checkers syntax)
(package! flycheck-moonscript
:recipe (:host github :repo "hlissner/emacs-flycheck-moonscript")
:pin "fcb99e5efcf31db05f236f02eaa575986a57172d")))
(when (featurep! +fennel)
(when (modulep! +fennel)
(package! fennel-mode :pin "5664357349462d0564c0bb55cb289a6722f0ecbc"))
(when (featurep! :completion company)
(when (modulep! :completion company)
(package! company-lua :pin "29f6819de4d691e5fd0b62893a9f4fbc1c6fcb52"))

View file

@ -68,7 +68,7 @@ capture, the end position, and the output buffer.")
:unless '(:add sp-point-before-word-p sp-point-before-same-p))
;; Highly rust blocks correctly
(when (featurep! :lang rust)
(when (modulep! :lang rust)
(add-to-list 'markdown-code-lang-modes '("rust" . rustic-mode)))
;; Don't trigger autofill in code blocks (see `auto-fill-mode')
@ -89,7 +89,7 @@ capture, the end position, and the output buffer.")
"o" #'markdown-open
"p" #'markdown-preview
"e" #'markdown-export
(:when (featurep! +grip)
(:when (modulep! +grip)
"p" #'grip-mode)
(:prefix ("i" . "insert")
:desc "Table Of Content" "T" #'markdown-toc-generate-toc
@ -129,7 +129,7 @@ capture, the end position, and the output buffer.")
(use-package! evil-markdown
:when (featurep! :editor evil +everywhere)
:when (modulep! :editor evil +everywhere)
:hook (markdown-mode . evil-markdown-mode)
:config
(add-hook 'evil-markdown-mode-hook #'evil-normalize-keymaps)

View file

@ -17,6 +17,6 @@
(warn! "Couldn't find %S. markdown-preview command won't work"
cmd))))))
(when (featurep! +grip)
(when (modulep! +grip)
(unless (executable-find "grip")
(warn! "Couldn't find grip. grip-mode will not work")))

View file

@ -5,10 +5,10 @@
(package! markdown-toc :pin "3d724e518a897343b5ede0b976d6fb46c46bcc01")
(package! edit-indirect :pin "f80f63822ffae78de38dbe72cacaeb1aaa96c732")
(when (featurep! +grip)
(when (modulep! +grip)
(package! grip-mode :pin "6d6ddbe0af39c82a633add8499488ad8dc9e1daa"))
(when (featurep! :editor evil +everywhere)
(when (modulep! :editor evil +everywhere)
(package! evil-markdown
:recipe (:host github :repo "Somelauw/evil-markdown")
:pin "8e6cc68af83914b2fa9fd3a3b8472573dbcef477"))

View file

@ -34,6 +34,6 @@ windows."
(use-package! flycheck-nim
:when (featurep! :checkers syntax)
:when (modulep! :checkers syntax)
:after nim-mode)

View file

@ -5,5 +5,5 @@
(package! nim-mode :pin "744e076f0bea1c5ddc49f92397d9aa98ffa7eff8")
(when (featurep! :checkers syntax)
(when (modulep! :checkers syntax)
(package! flycheck-nim :pin "ddfade51001571c2399f78bcc509e0aa8eb752a4"))

View file

@ -27,14 +27,14 @@
(save-excursion
(skip-chars-forward "^ ")
(point))))))
(cond ((featurep! :completion helm)
(cond ((modulep! :completion helm)
(require 'helm-nixos-options)
;; REVIEW We reimplment `helm-nixos-options' so we can supply
;; `initial-input'. Maybe use `helm-attrset' instead?
(helm :sources `(,(helm-source-nixos-options-search))
:buffer "*helm-nixos-options*"
:input initial-input))
((featurep! :completion ivy)
((modulep! :completion ivy)
(require 'nixos-options)
(ivy-read "NixOS options: "
nixos-options

View file

@ -15,7 +15,7 @@
;; than js2-mode, and its extra features aren't needed there.
(add-to-list 'auto-mode-alist
(cons "/flake\\.lock\\'"
(if (featurep! :lang json)
(if (modulep! :lang json)
'json-mode
'js-mode)))
:config
@ -29,9 +29,9 @@
;; dreadfully slow. It can still be invoked manually..
(setq-hook! 'nix-mode-hook company-idle-delay nil)
(when (featurep! +lsp)
(when (modulep! +lsp)
(add-hook 'nix-mode-local-vars-hook #'lsp! 'append))
(when (featurep! +tree-sitter)
(when (modulep! +tree-sitter)
(add-hook 'nix-mode-local-vars-hook #'tree-sitter! 'append))
(map! :localleader

View file

@ -7,6 +7,6 @@
(unless (executable-find "nixfmt")
(warn! "Couldn't find nixfmt. nix-format-buffer won't work."))
(assert! (or (not (featurep! +tree-sitter))
(featurep! :tools tree-sitter))
(assert! (or (not (modulep! +tree-sitter))
(modulep! :tools tree-sitter))
"This module requires (:tools tree-sitter)")

View file

@ -4,8 +4,8 @@
(package! nix-mode :pin "20ee8d88900b169831d6b0783bd82d2625e940c7")
(package! nix-update :pin "fc6c39c2da3fcfa62f4796816c084a6389c8b6e7")
(when (featurep! :completion company)
(when (modulep! :completion company)
(package! company-nixos-options :pin "053a2d5110ce05b7f99bcc2ac4804b70cbe87916"))
(when (featurep! :completion helm)
(when (modulep! :completion helm)
(package! helm-nixos-options :pin "053a2d5110ce05b7f99bcc2ac4804b70cbe87916"))

View file

@ -3,7 +3,7 @@
;;
;;; Packages
(when (featurep! +lsp)
(when (modulep! +lsp)
(add-hook! '(tuareg-mode-local-vars-hook
reason-mode-local-vars-hook)
:append #'lsp!))
@ -29,7 +29,7 @@
"a" #'tuareg-find-alternate-file)
(use-package! utop
:when (featurep! :tools eval)
:when (modulep! :tools eval)
:hook (tuareg-mode-local-vars . +ocaml-init-utop-h)
:init
(set-repl-handler! 'tuareg-mode #'utop)
@ -42,7 +42,7 @@
(use-package! merlin
:unless (featurep! +lsp)
:unless (modulep! +lsp)
:hook (tuareg-mode-local-vars . +ocaml-init-merlin-h)
:init
(defun +ocaml-init-merlin-h ()
@ -64,7 +64,7 @@
"t" #'merlin-type-enclosing)
(use-package! flycheck-ocaml
:when (featurep! :checkers syntax)
:when (modulep! :checkers syntax)
:hook (merlin-mode . +ocaml-init-flycheck-h)
:config
(defun +ocaml-init-flycheck-h ()
@ -78,14 +78,14 @@
:hook (merlin-mode . merlin-eldoc-setup))
(use-package! merlin-iedit
:when (featurep! :editor multiple-cursors)
:when (modulep! :editor multiple-cursors)
:defer t
:init
(map! :map tuareg-mode-map
:v "R" #'merlin-iedit-occurrences))
(use-package! merlin-imenu
:when (featurep! :emacs imenu)
:when (modulep! :emacs imenu)
:hook (merlin-mode . merlin-use-merlin-imenu)))
@ -101,7 +101,7 @@
(use-package! ocamlformat
:when (featurep! :editor format)
:when (modulep! :editor format)
:commands ocamlformat
:hook (tuareg-mode-local-vars . +ocaml-init-ocamlformat-h)
:config
@ -121,5 +121,5 @@
(setq +format-with 'ocamlformat))))
;; Tree sitter
(eval-when! (featurep! +tree-sitter)
(eval-when! (modulep! +tree-sitter)
(add-hook! 'tuareg-mode-local-vars-hook #'tree-sitter!))

View file

@ -1,12 +1,12 @@
;; -*- lexical-binding: t; no-byte-compile: t; -*-
;;; lang/ocaml/doctor.el
(assert! (or (not (featurep! +lsp))
(featurep! :tools lsp))
(assert! (or (not (modulep! +lsp))
(modulep! :tools lsp))
"This module requires (:tools lsp)")
(assert! (or (not (featurep! +tree-sitter))
(featurep! :tools tree-sitter))
(assert! (or (not (modulep! +tree-sitter))
(modulep! :tools tree-sitter))
"This module requires (:tools tree-sitter)")
(unless (executable-find "ocamlmerlin")
@ -16,13 +16,13 @@
(unless (executable-find "ocp-indent")
(warn! "Couldn't find ocp-indent. Auto-indentation will be less precise"))
(when (featurep! :tools eval)
(when (modulep! :tools eval)
(unless (executable-find "utop")
(warn! "Couldn't find utop. REPL won't be available")))
(unless (executable-find "dune")
(warn! "Couldn't find dune. Won't be able to highlight dune files"))
(when (featurep! :editor format)
(when (modulep! :editor format)
(unless (executable-find "ocamlformat")
(warn! "Couldn't find ocamlformat. Code-formatting will be unavailable")))

View file

@ -3,19 +3,19 @@
(package! tuareg :pin "ad8a688b7e2aeeafc320a845f86cdd9aa7c971ce")
(unless (featurep! +lsp)
(unless (modulep! +lsp)
(package! merlin :pin "be753d9412387aedcf32aba88a1be9bcd33d97ba")
(package! merlin-eldoc :pin "db7fab1eddfe34781b7e79694f8923b285698032")
(package! merlin-company :pin "be753d9412387aedcf32aba88a1be9bcd33d97ba")
(when (featurep! :checkers syntax)
(when (modulep! :checkers syntax)
(package! flycheck-ocaml :pin "77f8ddbd9bfc3a11957ac7ec7e45d5fa9179b192")))
(package! ocp-indent :pin "7c4d434132cebc15a8213c8be9e7323692eb0a2b")
(when (featurep! :tools eval)
(when (modulep! :tools eval)
(package! utop :pin "bbd9a6ed45c8de8d50adcd5d4d845bdba212db63"))
(when (featurep! :editor format)
(when (modulep! :editor format)
(package! ocamlformat
:recipe (:host github :repo "ocaml-ppx/ocamlformat" :files ("emacs/*.el"))
:pin "9cbd8150c28f70ba6315c347a833a4ac8c85c481"))

View file

@ -1,5 +1,5 @@
;;; lang/org/autoload/contrib-ipython.el -*- lexical-binding: t; -*-
;;;###if (featurep! +ipython)
;;;###if (modulep! +ipython)
;;;###autoload
(defun +org-ob-ipython-initiate-session-a (&optional session params)
@ -115,7 +115,7 @@ This function is called by `org-babel-execute-src-block'."
(cdr (assoc :pydir (nth 2 info))))))
(ob-ipython-mode 1)
;; hack on company mode to use company-capf rather than company-anaconda
(when (featurep! :completion company)
(when (modulep! :completion company)
(setq-local company-backends
'(company-capf
company-dabbrev

View file

@ -1,5 +1,5 @@
;;; lang/org/autoload/contrib-present.el -*- lexical-binding: t; -*-
;;;###if (featurep! +present)
;;;###if (modulep! +present)
;;
;;; Helpers

View file

@ -1,5 +1,5 @@
;;; lang/org/autoload/contrib-roam2.el -*- lexical-binding: t; -*-
;;;###if (featurep! +roam2)
;;;###if (modulep! +roam2)
;;; Custom node accessors
;;;###autoload (autoload 'org-roam-node-doom-filetitle "lang/org/autoload/contrib-roam2" nil t)

View file

@ -437,7 +437,7 @@ Made for `org-tab-first-hook' in evil-mode."
(defun +org-yas-expand-maybe-h ()
"Expand a yasnippet snippet, if trigger exists at point or region is active.
Made for `org-tab-first-hook'."
(when (and (featurep! :editor snippets)
(when (and (modulep! :editor snippets)
(require 'yasnippet nil t)
(bound-and-true-p yas-minor-mode))
(and (let ((major-mode (cond ((org-in-src-block-p t)

View file

@ -478,7 +478,7 @@ relative to `org-directory', unless it is an absolute path."
:after #'org-capture-refile
(+org-capture-cleanup-frame-h))
(when (featurep! :ui doom-dashboard)
(when (modulep! :ui doom-dashboard)
(add-hook '+doom-dashboard-inhibit-functions #'+org-capture-frame-p)))
@ -514,7 +514,8 @@ relative to `org-directory', unless it is an absolute path."
:face (lambda (path)
(if (or (file-remote-p path)
;; filter out network shares on windows (slow)
(and IS-WINDOWS (string-prefix-p "\\\\" path))
(and (featurep :os 'windows)
(string-prefix-p "\\\\" path))
(file-exists-p path))
'org-link
'(warning org-link))))
@ -599,15 +600,15 @@ relative to `org-directory', unless it is an absolute path."
org-html-validation-link nil
org-latex-prefer-user-labels t)
(when (featurep! :lang markdown)
(when (modulep! :lang markdown)
(add-to-list 'org-export-backends 'md))
(use-package! ox-hugo
:when (featurep! +hugo)
:when (modulep! +hugo)
:after ox)
(use-package! ox-pandoc
:when (featurep! +pandoc)
:when (modulep! +pandoc)
:when (executable-find "pandoc")
:after ox
:init
@ -847,7 +848,7 @@ between the two."
[C-return] #'+org/insert-item-below
[C-S-return] #'+org/insert-item-above
[C-M-return] #'org-insert-subheading
(:when IS-MAC
(:when (featurep :os 'macos)
[s-return] #'+org/insert-item-below
[s-S-return] #'+org/insert-item-above
[s-M-return] #'org-insert-subheading)
@ -863,13 +864,13 @@ between the two."
"," #'org-switchb
"." #'org-goto
"@" #'org-cite-insert
(:when (featurep! :completion ivy)
(:when (modulep! :completion ivy)
"." #'counsel-org-goto
"/" #'counsel-org-goto-all)
(:when (featurep! :completion helm)
(:when (modulep! :completion helm)
"." #'helm-org-in-buffer-headings
"/" #'helm-org-agenda-files-headings)
(:when (featurep! :completion vertico)
(:when (modulep! :completion vertico)
"." #'consult-org-heading
"/" #'consult-org-agenda)
"A" #'org-archive-subtree
@ -900,7 +901,7 @@ between the two."
"u" #'org-attach-url
"s" #'org-attach-set-directory
"S" #'org-attach-sync
(:when (featurep! +dragndrop)
(:when (modulep! +dragndrop)
"c" #'org-download-screenshot
"p" #'org-download-clipboard
"P" #'org-download-yank))
@ -926,7 +927,7 @@ between the two."
(:prefix ("t" . "toggle")
"f" #'org-table-toggle-formula-debugger
"o" #'org-table-toggle-coordinate-overlays)
(:when (featurep! +gnuplot)
(:when (modulep! +gnuplot)
"p" #'org-plot/gnuplot))
(:prefix ("c" . "clock")
"c" #'org-clock-cancel
@ -951,13 +952,13 @@ between the two."
"T" #'org-time-stamp-inactive)
(:prefix ("g" . "goto")
"g" #'org-goto
(:when (featurep! :completion ivy)
(:when (modulep! :completion ivy)
"g" #'counsel-org-goto
"G" #'counsel-org-goto-all)
(:when (featurep! :completion helm)
(:when (modulep! :completion helm)
"g" #'helm-org-in-buffer-headings
"G" #'helm-org-agenda-files-headings)
(:when (featurep! :completion vertico)
(:when (modulep! :completion vertico)
"g" #'consult-org-heading
"G" #'consult-org-agenda)
"c" #'org-clock-goto
@ -1107,7 +1108,7 @@ between the two."
(use-package! org-pdftools
:when (featurep! :tools pdf)
:when (modulep! :tools pdf)
:commands org-pdftools-export
:init
(after! org
@ -1137,7 +1138,7 @@ between the two."
(use-package! evil-org
:when (featurep! :editor evil +everywhere)
:when (modulep! :editor evil +everywhere)
:hook (org-mode . evil-org-mode)
:hook (org-capture-mode . evil-insert-state)
:hook (doom-docs-org-mode . evil-org-mode)
@ -1219,7 +1220,7 @@ between the two."
(use-package! evil-org-agenda
:when (featurep! :editor evil +everywhere)
:when (modulep! :editor evil +everywhere)
:hook (org-agenda-mode . evil-org-agenda-mode)
:config
(evil-org-agenda-set-keys)
@ -1304,7 +1305,7 @@ between the two."
"Advise `server-visit-files' to load `org-protocol' lazily."
:around #'server-visit-files
(if (not (cl-loop with protocol =
(if IS-WINDOWS
(if (featurep :os 'windows)
;; On Windows, the file arguments for `emacsclient'
;; get funnelled through `expand-file-path' by
;; `server-process-filter'. This substitutes

View file

@ -1,5 +1,5 @@
;;; lang/org/contrib/brain.el -*- lexical-binding: t; -*-
;;;###if (featurep! +brain)
;;;###if (modulep! +brain)
(use-package! org-brain
:defer t
@ -18,7 +18,7 @@
org-capture-templates
:key #'car :test #'equal)
(when (featurep! :editor evil +everywhere)
(when (modulep! :editor evil +everywhere)
;; TODO Make a proper evil keybind scheme for org-brain
;; REVIEW This should be handled upstream by evil-collection
(set-evil-initial-state!

View file

@ -1,5 +1,5 @@
;;; lang/org/contrib/dragndrop.el -*- lexical-binding: t; -*-
;;;###if (featurep! +dragndrop)
;;;###if (modulep! +dragndrop)
(use-package! org-download
:commands

View file

@ -1,5 +1,5 @@
;;; lang/org/contrib/babel.el -*- lexical-binding: t; -*-
;;;###if (featurep! +ipython)
;;;###if (modulep! +ipython)
(use-package! ob-ipython
:defer t

View file

@ -1,5 +1,5 @@
;;; lang/org/contrib/journal.el -*- lexical-binding: t; -*-
;;;###if (featurep! +journal)
;;;###if (modulep! +journal)
(use-package! org-journal
:defer t

Some files were not shown because too many files have changed in this diff Show more