diff --git a/Cask b/Cask index 4b9366672..6992895b9 100644 --- a/Cask +++ b/Cask @@ -21,6 +21,7 @@ ;; OSX --- core/core-os-osx.el (depends-on "dash-at-point") +(depends-on "applescript-mode") (depends-on "exec-path-from-shell") (depends-on "openwith") @@ -119,11 +120,6 @@ ;;;; MODULES ;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Apple -- modules/module-apple.el -(depends-on "applescript-mode") -(depends-on "swift-mode") -(depends-on "company-sourcekit") - ;; C/C++ -- modules/module-cc.el (depends-on "cmake-mode") (depends-on "company-irony") @@ -191,6 +187,7 @@ ;; Lisp -- modules/module-lisp.el (depends-on "highlight-quoted") (depends-on "slime") +(depends-on "auto-compile") ;; Lua -- modules/module-lua.el (depends-on "company-lua") @@ -235,6 +232,10 @@ ;; Shell -- modules/module-sh.el (depends-on "company-shell" :git "https://github.com/Alexander-Miller/company-shell") +;; Swift -- modules/module-swift.el +(depends-on "swift-mode") +(depends-on "company-sourcekit") + ;; Text modes -- modules/module-text.el (depends-on "markdown-mode") (depends-on "markdown-toc") @@ -247,13 +248,12 @@ (depends-on "pug-mode" :git "https://github.com/hlissner/pug-mode") -;;;; ORGANIZATIONAL/WRITING ;;;;;;;;;;;; +;;;; Experimental ;;;;;;;;;;;; ;; Org -- modules/module-org.el (depends-on "org-plus-contrib") (depends-on "org-bullets") (depends-on "ob-go" :git "https://github.com/pope/ob-go") (depends-on "ob-http") - ;; Org Notebook -- modules/module-org-notebook.el (depends-on "org-download") (depends-on "ox-pandoc") diff --git a/bootstrap.el b/bootstrap.el index bcfb4c7a5..16c27a126 100644 --- a/bootstrap.el +++ b/bootstrap.el @@ -1,42 +1,40 @@ ;;; bootstrap.el -(eval-when-compile (require 'cl-lib)) +(defalias '! 'eval-when-compile) +;; For benchmarking +(defconst emacs-start-time (current-time)) +(defconst emacs-end-time nil) ;; Global constants -(eval-and-compile - (defconst emacs-start-time (current-time)) - (defconst emacs-end-time nil) +(defconst doom-default-theme 'wombat) +(defconst doom-terminal-theme 'wombat) +(defconst doom-default-font nil) - (defconst doom-default-theme 'wombat) - (defconst doom-terminal-theme 'wombat) - (defconst doom-default-font nil) +(defconst doom-emacs-dir (! (expand-file-name "." user-emacs-directory))) +(defconst doom-core-dir (! (concat doom-emacs-dir "/core"))) +(defconst doom-modules-dir (! (concat doom-emacs-dir "/modules"))) +(defconst doom-private-dir (! (concat doom-emacs-dir "/private"))) +(defconst doom-packages-dir (! (concat doom-emacs-dir "/.cask/" emacs-version "/elpa"))) +(defconst doom-script-dir (! (concat doom-emacs-dir "/scripts"))) +(defconst doom-ext-dir (! (concat doom-emacs-dir "/ext"))) +(defconst doom-snippet-dirs (! (list (concat doom-private-dir "/snippets") + (concat doom-private-dir "/templates")))) +;; Hostname and emacs version-based elisp temp directories +(defconst doom-temp-dir (! (format "%s/cache/%s/%s.%s" + doom-private-dir (system-name) + emacs-major-version emacs-minor-version))) - (defconst doom-emacs-dir (expand-file-name "." user-emacs-directory)) - (defconst doom-core-dir (concat doom-emacs-dir "/core")) - (defconst doom-modules-dir (concat doom-emacs-dir "/modules")) - (defconst doom-private-dir (concat doom-emacs-dir "/private")) - (defconst doom-packages-dir (concat doom-emacs-dir "/.cask/" emacs-version "/elpa")) - (defconst doom-script-dir (concat doom-emacs-dir "/scripts")) - (defconst doom-ext-dir (concat doom-emacs-dir "/ext")) - (defconst doom-snippet-dirs (list (concat doom-private-dir "/snippets") - (concat doom-private-dir "/templates"))) - ;; Hostname and emacs version-based elisp temp directories - (defconst doom-temp-dir (format "%s/cache/%s/%s.%s" - doom-private-dir (system-name) - emacs-major-version emacs-minor-version)) +(defconst IS-MAC (! (eq system-type 'darwin))) +(defconst IS-LINUX (! (eq system-type 'gnu/linux))) +(defconst IS-WINDOWS (! (eq system-type 'windows-nt))) - (defconst IS-MAC (eq system-type 'darwin)) - (defconst IS-LINUX (eq system-type 'gnu/linux)) - (defconst IS-WINDOWS (eq system-type 'windows-nt))) - -(eval-when-compile - (defvar doom--load-path load-path) - ;; Helper for traversing subdirectories recursively - (defun --subdirs (path &optional include-self) - (let ((result (if include-self (list path) (list)))) - (dolist (file (ignore-errors (directory-files path t "^[^.]" t))) - (when (file-directory-p file) - (push file result))) - result))) +(defvar doom--load-path load-path) +;; Helper for traversing subdirectories recursively +(defun --subdirs (path &optional include-self) + (let ((result (if include-self (list path) (list)))) + (dolist (file (ignore-errors (directory-files path t "^[^.]" t))) + (when (file-directory-p file) + (push file result))) + result)) ;; @@ -57,16 +55,15 @@ file-name-handler-alist) ;; Scan various folders to populate the load-paths (setq load-path - (eval-when-compile - (append (list doom-private-dir) - (--subdirs doom-core-dir t) - (--subdirs doom-modules-dir t) - (--subdirs doom-packages-dir) - (--subdirs (expand-file-name "../bootstrap" doom-packages-dir)) - doom--load-path)) + (! (append (list doom-private-dir) + (--subdirs doom-core-dir t) + (--subdirs doom-modules-dir t) + (--subdirs doom-packages-dir) + (--subdirs (expand-file-name "../bootstrap" doom-packages-dir)) + doom--load-path)) custom-theme-load-path - (append (list (expand-file-name "themes/" doom-private-dir)) - custom-theme-load-path)) + (! (append (list (expand-file-name "themes/" doom-private-dir)) + custom-theme-load-path))) (load "~/.emacs.local.el" t t) (setq doom-current-theme (if (display-graphic-p) doom-default-theme doom-terminal-theme) @@ -75,6 +72,9 @@ (when (display-graphic-p) (require 'server) (unless (server-running-p) - (server-start))))) + (server-start))) + ;; Prevent any auto-displayed text + benchmarking + (advice-add 'display-startup-echo-area-message :override 'ignore) + (message ""))) ;;; bootstrap.el ends here diff --git a/core/core-helm.el b/core/core-helm.el index 9f7e2c814..247ccccbb 100644 --- a/core/core-helm.el +++ b/core/core-helm.el @@ -53,9 +53,7 @@ ;; A simpler prompt: see `helm-global-prompt' (advice-add 'helm :filter-args 'doom*helm-replace-prompt) ;; Hide mode-line in helm windows - (advice-add 'helm-display-mode-line :override 'doom*helm-hide-header) - - (after! yasnippet (push 'helm-alive-p yas-dont-activate))) + (advice-add 'helm-display-mode-line :override 'doom*helm-hide-header)) (use-package helm-mode :after helm @@ -123,7 +121,7 @@ (setq helm-css-scss-split-direction 'split-window-vertically helm-css-scss-split-with-multiple-windows t)) -(use-package helm-swoop ; https://github.com/ShingoFukuyama/helm-swoop +(use-package helm-swoop ; https://github.com/ShingoFukuyama/helm-swoop :defines (helm-swoop-last-prefix-number) :commands (helm-swoop helm-multi-swoop helm-multi-swoop-all) :config diff --git a/core/core-os-osx.el b/core/core-os-osx.el index 0978d31c8..5775ac81c 100644 --- a/core/core-os-osx.el +++ b/core/core-os-osx.el @@ -8,15 +8,13 @@ ;; Prefixes: Command = M, Alt = A mac-command-modifier 'meta mac-option-modifier 'alt - ;; sane trackpad/mouse scroll settings mac-redisplay-dont-reset-vscroll t mac-mouse-wheel-smooth-scroll nil mouse-wheel-scroll-amount '(5 ((shift) . 2)) ; one line at a time mouse-wheel-progressive-speed nil ; don't accelerate scrolling - - ;;; NOTE Meaningless to railwaycat's emacs-mac build ;; Curse Lion and its sudden but inevitable fullscreen mode! + ;; NOTE Meaningless to railwaycat's emacs-mac build ns-use-native-fullscreen nil ;; Don't open files from the workspace in a new frame ns-pop-up-frames nil) @@ -55,6 +53,14 @@ (defmacro def-docset! (mode docset) `(add-hook! ,mode (setq-local dash-at-point-docset ,docset)))) +(use-package applescript-mode :mode "\\.applescript$") + +(def-project-type! lb6 "lb6" + :match "\\.lb\\(action\\|ext\\)/.+$" + :build (lambda () + (awhen (f-traverse-upwards (lambda (f) (f-ext? f "lbaction"))) + (shell-command (format "open '%s'" it))))) + (after! evil ;; On OSX, stop copying each visual state move to the clipboard: ;; https://bitbucket.org/lyro/evil/issue/336/osx-visual-state-copies-the-region-on diff --git a/core/core-vars.el b/core/core-vars.el new file mode 100644 index 000000000..f51ab4cf4 --- /dev/null +++ b/core/core-vars.el @@ -0,0 +1,54 @@ +;;; core-vars.el + +(defcustom doom-unreal-buffers + '("^ ?\\*.+" image-mode dired-mode reb-mode messages-buffer-mode + tabulated-list-mode comint-mode magit-mode) + "A list of regexps or modes whose buffers are considered unreal, and will be +ignored when using `doom:next-real-buffer' and `doom:previous-real-buffer' (or +killed by `doom/kill-unreal-buffers', or after `doom/kill-real-buffer')." + :group 'doom + :type '(repeat (choice (regexp :tag "Buffer name regexps") + (symbol :tag "Major mode")))) + +(defcustom doom-ignore-buffers + '("*Completions*" "*Compile-Log*" "*inferior-lisp*" "*Fuzzy Completions*" + "*Apropos*" "*Help*" "*cvs*" "*Buffer List*" "*Ibuffer*" "*NeoTree*" + "*NeoTree*" "*esh command on file*" "*WoMan-Log*" "*compilation*" + "*use-package*" "*quickrun*" "*eclim: problems*" "*Flycheck errors*" + "*popwin-dummy*" + ;; Helm + "*helm*" "*helm recentf*" "*helm projectile*" "*helm imenu*" + "*helm company*" "*helm buffers*" "*Helm Css SCSS*" "*helm-ag*" + "*helm-ag-edit*" "*Helm Swoop*" "*helm M-x*" "*helm mini*" + "*Helm Completions*" "*Helm Find Files*" "*helm mu*" "*helm mu contacts*" + "*helm-mode-describe-variable*" "*helm-mode-describe-function*" + ;; Org + "*Org todo*" "*Org Links*" "*Agenda Commands*") + "List of buffer names to ignore when using `winner-undo', or `winner-redo'" + :group 'doom + :type '(repeat string)) + +(defcustom doom-cleanup-processes-alist + '(("pry" . ruby-mode) + ("irb" . ruby-mode) + ("ipython" . python-mode)) + "An alist of (process-name . major-mode), that `doom:cleanup-processes' checks +before killing processes. If there are no buffers with matching major-modes, it +gets killed." + :group 'doom + :type '(repeat (cons (string :tag "Process name") + (symbol :tag "Associated major mode")))) + +(defcustom doom-project-root-files + '(".git" ".hg" ".svn" ".project" "local.properties" "project.properties" + "rebar.config" "project.clj" "SConstruct" "pom.xml" "build.sbt" + "build.gradle" "Gemfile" "requirements.txt" "tox.ini" "package.json" + "gulpfile.js" "Gruntfile.js" "bower.json" "composer.json" "Cargo.toml" + "mix.exs") + "A list of files that count as 'project files', which determine whether a +folder is the root of a project or not." + :group 'doom + :type '(repeat string)) + +(provide 'core-vars) +;;; core-vars.el ends here diff --git a/core/core-yasnippet.el b/core/core-yasnippet.el index 70a16f22f..652a97135 100644 --- a/core/core-yasnippet.el +++ b/core/core-yasnippet.el @@ -43,7 +43,9 @@ ;; Strip out whitespace before a line selection (add-hook 'yas-before-expand-snippet-hook 'doom|yas-before-expand) ;; Fix previous hook persisting yas-selected-text between expansions - (add-hook 'yas-after-exit-snippet-hook 'doom|yas-after-expand)) + (add-hook 'yas-after-exit-snippet-hook 'doom|yas-after-expand) + ;; Suppress yasnippet with helm + (after! helm (push 'helm-alive-p yas-dont-activate))) (use-package auto-yasnippet :commands (aya-create aya-expand aya-open-line aya-persist-snippet) diff --git a/core/core.el b/core/core.el index 0fc3c80e3..cabd39834 100644 --- a/core/core.el +++ b/core/core.el @@ -14,12 +14,12 @@ ;;; Autoloaded functions are in {core,modules}/defuns/defuns-*.el ;; UTF-8 please +(set-charset-priority 'unicode) (setq locale-coding-system 'utf-8) ; pretty (set-terminal-coding-system 'utf-8) ; pretty (set-keyboard-coding-system 'utf-8) ; pretty (set-selection-coding-system 'utf-8) ; please (prefer-coding-system 'utf-8) ; with sugar on top -(set-charset-priority 'unicode) (setq default-process-coding-system '(utf-8-unix . utf-8-unix)) (setq-default major-mode 'text-mode) @@ -43,7 +43,6 @@ ediff-window-setup-function 'ediff-setup-windows-plain ; no extra frames enable-recursive-minibuffers nil ; no minibufferception idle-update-delay 2 ; update a little less often - inhibit-startup-echo-area-message "hlissner" ; username shuts up emacs ring-bell-function 'ignore ; silence of the bells! save-interprogram-paste-before-kill nil sentence-end-double-space nil @@ -67,63 +66,25 @@ undo-tree-history-directory-alist `(("." . ,(concat doom-temp-dir "/undo/")))) -;; -;; Variables -;; - -(defvar doom-unreal-buffers - '("^ ?\\*.+\\*" image-mode dired-mode reb-mode messages-buffer-mode) - "A list of regexps or modes whose buffers are considered unreal, and will be -ignored when using `doom:next-real-buffer' and `doom:previous-real-buffer' (or -killed by `doom/kill-unreal-buffers', or after `doom/kill-real-buffer').") - -(defvar doom-ignore-buffers - '("*Completions*" "*Compile-Log*" "*inferior-lisp*" "*Fuzzy Completions*" - "*Apropos*" "*Help*" "*cvs*" "*Buffer List*" "*Ibuffer*" "*NeoTree*" - "*NeoTree*" "*esh command on file*" "*WoMan-Log*" "*compilation*" - "*use-package*" "*quickrun*" "*eclim: problems*" "*Flycheck errors*" - "*popwin-dummy*" - ;; Helm - "*helm*" "*helm recentf*" "*helm projectile*" "*helm imenu*" - "*helm company*" "*helm buffers*" "*Helm Css SCSS*" "*helm-ag*" - "*helm-ag-edit*" "*Helm Swoop*" "*helm M-x*" "*helm mini*" - "*Helm Completions*" "*Helm Find Files*" "*helm mu*" "*helm mu contacts*" - "*helm-mode-describe-variable*" "*helm-mode-describe-function*" - ;; Org - "*Org todo*" "*Org Links*" "*Agenda Commands*") - "List of buffer names to ignore when using `winner-undo', or `winner-redo'") - -(defvar doom-cleanup-processes-alist - '(("pry" . ruby-mode) - ("irb" . ruby-mode) - ("ipython" . python-mode)) - "An alist of (process-name . major-mode), that `doom:cleanup-processes' checks -before killing processes. If there are no buffers with matching major-modes, it -gets killed.") - -(defvar doom-project-root-files - '(".git" ".hg" ".svn" ".project" "local.properties" "project.properties" - "rebar.config" "project.clj" "SConstruct" "pom.xml" "build.sbt" - "build.gradle" "Gemfile" "requirements.txt" "tox.ini" "package.json" - "gulpfile.js" "Gruntfile.js" "bower.json" "composer.json" "Cargo.toml" - "mix.exs") - "A list of files that count as 'project files', which determine whether a -folder is the root of a project or not.") - - ;; ;; Libraries ;; -(require 'f) -(require 'dash) -(require 's) +(defgroup doom nil + "Emacs for the stubborn martian vimmer." + :prefix "doom") -(require 'core-defuns) -(unless (require 'autoloads nil t) - (doom-reload-autoloads) +(eval-and-compile + (require 'f) + (require 'dash) + (require 's) + + (require 'core-vars) + (require 'core-defuns) (unless (require 'autoloads nil t) - (error "Autoloads couldn't be loaded or generated!"))) + (doom-reload-autoloads) + (unless (require 'autoloads nil t) + (error "Autoloads couldn't be loaded or generated!")))) (autoload 'use-package "use-package" "" nil 'macro) @@ -182,17 +143,12 @@ enable multiple minor modes for the same regexp.") (add-hook 'find-file-hook 'doom|enable-minor-mode-maybe) -(add-hook! after-init +;; +(add-hook! emacs-startup ;; We add this to `after-init-hook' to allow errors to stop it (defadvice save-buffers-kill-emacs (around no-query-kill-emacs activate) "Prevent annoying \"Active processes exist\" query when you quit Emacs." - (cl-flet ((process-list ())) ad-do-it)) - - ;; Prevent any auto-displayed text... - (advice-add 'display-startup-echo-area-message :override 'ignore) - (setq emacs-end-time (float-time (time-subtract (current-time) emacs-start-time))) - (doom-mode-init) - (message "")) + (cl-flet ((process-list ())) ad-do-it))) (provide 'core) ;;; core.el ends here diff --git a/core/defuns/defuns-buffers.el b/core/defuns/defuns-buffers.el index cf06c3d80..aca65e9d2 100644 --- a/core/defuns/defuns-buffers.el +++ b/core/defuns/defuns-buffers.el @@ -171,7 +171,7 @@ left, create a scratch buffer." (if (or (= realc 0) (and (= realc 1) (eq (car real-buffers) (current-buffer)))) (progn - (doom|update-scratch-buffer-cwd) + (doom|update-scratch-buffer) (switch-to-buffer doom-buffer-name) (message "Nowhere to go")) (funcall move-func) @@ -179,7 +179,7 @@ left, create a scratch buffer." (let ((current-buffer (current-buffer))) (cond ((or (eq current-buffer start-buffer) (>= i max)) - (doom|update-scratch-buffer-cwd) + (doom|update-scratch-buffer) (switch-to-buffer doom-buffer-name) (setq continue nil)) ((not (memq current-buffer real-buffers)) @@ -251,9 +251,9 @@ buffers regardless of project." (interactive "") (doom-kill-buffers (doom/get-matching-buffers pattern (doom/get-buffers (not bang))))) -;;;###autoload (autoload 'doom:send-to-scratch-or-org "defuns-buffers" nil t) -(evil-define-operator doom:send-to-scratch-or-org (&optional beg end bang) - "Send a selection to the scratch buffer. If BANG, then send it to org-capture instead." +;;;###autoload (autoload 'doom:scratch-or-org "defuns-buffers" nil t) +(evil-define-operator doom:scratch-or-org (&optional beg end bang) + "Send a selection to the scratch buffer. If BANG, use org-capture instead." :move-point nil :type inclusive (interactive "") @@ -267,11 +267,10 @@ buffers regardless of project." (buffer-name doom-buffer-name)) (doom/popup-buffer buffer-name) (with-current-buffer buffer-name - (when project-dir - (cd project-dir)) + (erase-buffer) + (doom|update-scratch-buffer) (if text (insert text)) - (funcall mode)) - )))) + (funcall mode)))))) ;;;###autoload (autoload 'doom:cd "defuns-buffers" nil t) (evil-define-command doom:cd (dir) @@ -284,7 +283,7 @@ buffers regardless of project." (defun doom/kill-all-buffers-do-not-remember () "Kill all buffers so that workgroups2 will wipe its current session." (interactive) - (let ((confirm-kill-emacs nil)) + (let (confirm-kill-emacs) (mapc 'kill-buffer (doom/get-buffers)) (kill-this-buffer) (delete-other-windows) diff --git a/core/defuns/defuns-git.el b/core/defuns/defuns-git.el index 084ee6bfe..b1bf9c5ee 100644 --- a/core/defuns/defuns-git.el +++ b/core/defuns/defuns-git.el @@ -1,9 +1,9 @@ ;;; defuns-git.el -;;;### (autoload 'doom:git-remote-browse "defuns-git" nil t) +;;;###autoload (autoload 'doom:git-remote-browse "defuns-git" nil t) (evil-define-command doom:git-remote-browse (&optional bang) - "Open the website for the current (or specified) version controlled FILE. If BANG, -then use hub to do it." + "Open the website for the current (or specified) version controlled FILE. If +BANG, then use hub to do it." (interactive "") (let (url) (condition-case err diff --git a/core/defuns/defuns-workgroup.el b/core/defuns/defuns-workgroup.el index 3bd2359d6..f55dda6b0 100644 --- a/core/defuns/defuns-workgroup.el +++ b/core/defuns/defuns-workgroup.el @@ -10,7 +10,7 @@ (defun doom/wg-projectile-switch-project () (let ((project-root (doom/project-root))) (doom:workgroup-new nil (file-name-nondirectory (directory-file-name project-root)) t) - (doom|update-scratch-buffer-cwd project-root) + (doom|update-scratch-buffer project-root) (when (featurep 'neotree) (neotree-projectile-action)))) diff --git a/init.el b/init.el index 86daf5c19..3886ed491 100644 --- a/init.el +++ b/init.el @@ -29,11 +29,10 @@ ;;; License: MIT (load (concat user-emacs-directory "bootstrap.el")) -;; (defconst doom-default-theme 'doom-one) (defconst doom-terminal-theme 'doom-dark) -(defconst doom-default-font (font-spec :family "Fira Mono" :size 12)) +(defconst doom-default-font (font-spec :family "Fira Mono" :size 12)) (defconst doom-leader "," "Prefix for bindings") (defconst doom-localleader "\\" "Prefix for bindings") diff --git a/modules/extra-demo.el b/modules/extra-demo.el index a4ecfd3d2..33b2ed22b 100644 --- a/modules/extra-demo.el +++ b/modules/extra-demo.el @@ -24,12 +24,11 @@ :lighter " BIG" :global t (doom/load-font (if big-mode big-mode-font doom-default-font)) - (setq-default powerline-height - (if big-mode - big-mode-modeline-height - big-mode--powerline-height)) - (setq-default line-spacing - (if big-mode big-mode-line-spacing big-mode--line-spacing))) + (setq-default + powerline-height + (if big-mode big-mode-modeline-height big-mode--powerline-height) + line-spacing + (if big-mode big-mode-line-spacing big-mode--line-spacing))) (provide 'extra-demo) ;;; extra-demo.el ends here diff --git a/modules/module-lua.el b/modules/module-lua.el index 6ce26132d..9d739ea20 100644 --- a/modules/module-lua.el +++ b/modules/module-lua.el @@ -13,12 +13,10 @@ (sp-local-pair "if" nil :actions :rem) (sp-local-pair "while" nil :actions :rem) (sp-local-pair "function" nil :actions :rem) - (sp-local-pair "then " " end") (sp-local-pair "do " " end") (sp-local-pair "then" "end" :when '(("RET")) :post-handlers '("||\n[i]")) (sp-local-pair "do" "end" :when '(("RET")) :post-handlers '("||\n[i]")) - ;; block functions (sp-local-pair "function" "end" :when '(sp-point-after-bol-p) :post-handlers '(" |\n[i]")) ;; inline functions diff --git a/modules/module-python.el b/modules/module-python.el index 969387a74..6ab8664b2 100644 --- a/modules/module-python.el +++ b/modules/module-python.el @@ -24,7 +24,6 @@ (def-docset! python-mode "py,py3,python") (def-version-cmd! python-mode "python --version 2>&1 | cut -d' ' -f2") (def-repl! python-mode doom/inf-python) - (define-key python-mode-map (kbd "DEL") nil)) ; interferes with smartparens (use-package anaconda-mode diff --git a/modules/module-sh.el b/modules/module-sh.el index bd5648703..ad2daaa8f 100644 --- a/modules/module-sh.el +++ b/modules/module-sh.el @@ -4,9 +4,7 @@ :mode (("\\.\\(ba\\|z\\)sh$" . sh-mode) ("/\\.?z\\(sh\\(/.*\\|$\\)\\|profile\\|log\\(in\\|out\\)\\|sh\\(rc\\|env\\)\\)$" . sh-mode) ("/\\.?bash\\(/.*\\|rc\\|_profile\\)$" . sh-mode)) - :init - (add-hook! sh-mode - '(flycheck-mode doom|sh-extra-font-lock-activate)) + :init (add-hook! sh-mode '(flycheck-mode doom|sh-extra-font-lock-activate)) :config (def-company-backend! sh-mode (shell)) (def-electric! sh-mode :words ("else" "elif" "fi" "done")) diff --git a/modules/module-text.el b/modules/module-text.el index b9b1abf39..2bd617cf2 100644 --- a/modules/module-text.el +++ b/modules/module-text.el @@ -10,31 +10,27 @@ markdown-enable-math t markdown-make-gfm-checkboxes-buttons t markdown-gfm-additional-languages '("sh")) + :config (map! :map markdown-mode-map "" nil "" nil "" nil - - ;; Assumes you have a markdown renderer plugin in chrome - :nv "M-r" (λ! (doom-open-with "Google Chrome")) - "M-*" 'markdown-insert-list-item "M-b" 'markdown-insert-bold "M-i" 'markdown-insert-italic "M-`" 'doom/markdown-insert-del - + ;; Assumes you have a markdown renderer plugin in chrome + :nv "M-r" (λ! (doom-open-with "Google Chrome")) + ;; TODO: Make context sensitive + :n "[p" 'markdown-promote + :n "]p" 'markdown-demote + :i "M--" 'markdown-insert-hr (:localleader :nv "i" 'markdown-insert-image :nv "l" 'markdown-insert-link :nv "L" 'markdown-insert-reference-link-dwim - :nv "b" 'markdown-preview) - - ;; TODO: Make context sensitive - :n "[p" 'markdown-promote - :n "]p" 'markdown-demote - - :i "M--" 'markdown-insert-hr)) + :nv "b" 'markdown-preview))) (use-package markdown-toc :after markdown-mode) diff --git a/modules/module-web.el b/modules/module-web.el index e6b63f34f..4cc49fe62 100644 --- a/modules/module-web.el +++ b/modules/module-web.el @@ -38,10 +38,8 @@ (map! :map web-mode-map "M-/" 'web-mode-comment-or-uncomment :n "M-r" 'doom/web-refresh-browser - :n "za" 'web-mode-fold-or-unfold (:localleader :n "t" 'web-mode-element-rename) - :nv "]a" 'web-mode-attribute-next :nv "[a" 'web-mode-attribute-previous :nv "]t" 'web-mode-tag-next diff --git a/private/my-commands.el b/private/my-commands.el index d77c7f54c..72168483d 100644 --- a/private/my-commands.el +++ b/private/my-commands.el @@ -34,7 +34,7 @@ (ex! "repl" 'doom:repl) ; invoke or send to repl (ex! "t[mux]" 'doom:tmux) ; send to tmux (ex! "tcd" 'doom:tmux-cd) ; cd to default-directory in tmux -(ex! "x" 'doom:send-to-scratch-or-org) +(ex! "x" 'doom:scratch-or-org) ;; GIT (ex! "ga[dd]" 'doom/vcs-stage-hunk) (ex! "gbr[owse]" 'doom:git-remote-browse) ; show file in github/gitlab