diff --git a/CHANGELOG.org b/CHANGELOG.org index bd68c8d85..1694080be 100644 --- a/CHANGELOG.org +++ b/CHANGELOG.org @@ -122,199 +122,314 @@ * 2.0.5 (Sep 03, 2017) + =doom= - + Added new module: ~tools/rgb~, with tools for dealing with colors (thanks to [[https://github.com/bandresen][bandresen]]) - + Added new module: ~tools/prodigy~, with tools for managing external services (thanks to [[https://github.com/bandresen][bandresen]]) - + Added new module: ~feature/hydra~, offers an extra and customizable layer of modal keybinds (thanks to [[https://github.com/bandresen][bandresen]]) + + Added new module: ~tools/rgb~, with tools for dealing with colors (thanks to + [[https://github.com/bandresen][bandresen]]) + + Added new module: ~tools/prodigy~, with tools for managing external services + (thanks to [[https://github.com/bandresen][bandresen]]) + + Added new module: ~feature/hydra~, offers an extra and customizable layer of + modal keybinds (thanks to [[https://github.com/bandresen][bandresen]]) + Added two new core-lib helpers for macros: ~doom-enlist~ and ~doom-unquote~. - + Switch to ~doom-fallback-buffer~ after using ~doom/kill-all-buffers~ (or ~:killall!~). - + ~make doctor~ now does font detection and will complain when fonts are missing. - + When switching to a new project, a new workspace is spawned and a fuzzy find-file prompt is opened. However, a buffer from the previous workspace would linger on screen *and* the scratch buffer would CD to HOME, rather than the project root. This is fixed now. - + Added module flags to the ~doom!~ macro in init.el, and modified the ~featurep!~ macro so that it can be used to detect these flags from within modules. It is up to modules how to interpret them. More information in [[https://github.com/hlissner/.emacs.d/commit/0b7b8800a2478588bde408c92fcdfa0e43a5baf0][0b7b880]]. - + Fix projectile-find-file not respecting ~default-directory~ (caused by changes upstream). - + Rewrote, revised and expanded module documentation, and created a [[https://github.com/hlissner/.emacs.d/wiki][wiki]] with more information. + + Switch to ~doom-fallback-buffer~ after using ~doom/kill-all-buffers~ (or + ~:killall!~). + + ~make doctor~ now does font detection and will complain when fonts are + missing. + + When switching to a new project, a new workspace is spawned and a fuzzy + find-file prompt is opened. However, a buffer from the previous workspace + would linger on screen *and* the scratch buffer would CD to HOME, rather + than the project root. This is fixed now. + + Added module flags to the ~doom!~ macro in init.el, and modified the + ~featurep!~ macro so that it can be used to detect these flags from within + modules. It is up to modules how to interpret them. More information in + [[https://github.com/hlissner/.emacs.d/commit/0b7b8800a2478588bde408c92fcdfa0e43a5baf0][0b7b880]]. + + Fix projectile-find-file not respecting ~default-directory~ (caused by + changes upstream). + + Rewrote, revised and expanded module documentation, and created a [[https://github.com/hlissner/.emacs.d/wiki][wiki]] with + more information. + Removed the =:L= flag from =map!= and replaced it with a =:local= property. - + Added new function: ~doom|disable-vi-tilde-fringe~ for turning off vi-tilde-fringe in select buffers. - + Added support for relative line numbers (see ~doom-line-numbers-style~), using nlinum-relative on Emacs <26, and display-line-numbers on Emacs 26+. + + Added new function: ~doom|disable-vi-tilde-fringe~ for turning off + vi-tilde-fringe in select buffers. + + Added support for relative line numbers (see ~doom-line-numbers-style~), + using nlinum-relative on Emacs <26, and display-line-numbers on Emacs 26+. + =feature= + =file-templates= Added a file template for: + *.org files + Module README.org files. + =jump= - + Added documentation for ~:jump~ setting, describing the three properties it supports (~:definition~, ~:references~ and ~:documentation~). + + Added documentation for ~:jump~ setting, describing the three properties + it supports (~:definition~, ~:references~ and ~:documentation~). + Rewrote ~+jump/online~ to: - + Use the current selection, if active, or prompt for a query otherwise (with the thing at point as the initial input). - + Prompts for the provider (search engine) on first use, and reuses the last provider on consecutive uses. If the universal argument is supplied, force ~+jump/online~ to prompt for the provider anyway. - + =workspaces= Fix interactive renaming of workspaces, as well as the ability to save and load workspaces from files (see [[https://github.com/hlissner/doom-emacs/pull/200][#200]]). + + Use the current selection, if active, or prompt for a query otherwise + (with the thing at point as the initial input). + + Prompts for the provider (search engine) on first use, and reuses the + last provider on consecutive uses. If the universal argument is + supplied, force ~+jump/online~ to prompt for the provider anyway. + + =workspaces= Fix interactive renaming of workspaces, as well as the ability + to save and load workspaces from files (see [[https://github.com/hlissner/doom-emacs/pull/200][#200]]). + =completion= - + Added all-the-icons support to ~ivy-switch-buffer~ and ~+ivy/switch-workspace-buffer~. Enable this with ~(setq +ivy-buffer-icons t)~. + + Added all-the-icons support to ~ivy-switch-buffer~ and + ~+ivy/switch-workspace-buffer~. Enable this with ~(setq +ivy-buffer-icons + t)~. + =ui= + rainbow-mode is no longer activated on ~prog-mode-hook~. + =doom-modeline= - + Modeline now uses shrink-path.el to shrink the buffer name in the case of a small frame (thanks to [[https://github.com/bandresen][bandresen]]). [[https://github.com/hlissner/.emacs.d/pull/176][See #176]] + + Modeline now uses shrink-path.el to shrink the buffer name in the case of + a small frame (thanks to [[https://github.com/bandresen][bandresen]]). [[https://github.com/hlissner/.emacs.d/pull/176][See #176]] + Fixed mode-line going blank in terminal Emacs (thanks to [[https://github.com/bandresen][bandresen]]). + =doom-dashboard= Fixed "Load last session" button on dashboard. + =tools= - + =eshell= General improvements made to further integrate eshell with Doom (thanks to [[https://github.com/bandresen][bandresen]]). [[https://github.com/hlissner/.emacs.d/pull/160][See #160]] - + =pass= ~+pass-get-field~ now no-ops if used in a non-interactive session (e.g. during testing or byte compilation). - + =neotree= Add =r= and =d= bindings for renaming and deleting files, respectively. + + =eshell= General improvements made to further integrate eshell with Doom + (thanks to [[https://github.com/bandresen][bandresen]]). [[https://github.com/hlissner/.emacs.d/pull/160][See #160]] + + =pass= ~+pass-get-field~ now no-ops if used in a non-interactive session + (e.g. during testing or byte compilation). + + =neotree= Add =r= and =d= bindings for renaming and deleting files, + respectively. + =lang= - + =cc= The advise function ~c-lineup-arglist~ was missing, and has now been reimplemented. - + =haskell= With module flags implemented, Intero support is now available to lang/haskell and is now the default. Dante support is still available with the ~+dante~ flag. - + =java= Now auto-installs meghanda-server on first use, and fixed code-completion in java buffers. + + =cc= The advise function ~c-lineup-arglist~ was missing, and has now been + reimplemented. + + =haskell= With module flags implemented, Intero support is now available to + lang/haskell and is now the default. Dante support is still available with + the ~+dante~ flag. + + =java= Now auto-installs meghanda-server on first use, and fixed + code-completion in java buffers. + =org= - + Fixed vanilla C-j/C-k bindings overshadowing custom window navigation bindings. + + Fixed vanilla C-j/C-k bindings overshadowing custom window navigation + bindings. + Added C-[hjkl] keybindings in insert mode for org table navigation. - + Fixed ~+org/insert-item~ throwing =save-excursion: Wrong type argument: listp, 1= error when used from BOL on the first sub-item in a list. + + Fixed ~+org/insert-item~ throwing =save-excursion: Wrong type argument: + listp, 1= error when used from BOL on the first sub-item in a list. * 2.0.4 (Jul 14, 2017) + *Module changes:* - + Added =tools/password-store= -- Emacs as a password manager, using [[https://www.passwordstore.org/][pass]] as a backend (contributed by [[https://github.com/bandresen][brandresen]]). - + Added =app/irc= -- Emacs as an IRC client, using circe (contributed by [[https://github.com/bandresen][brandresen]]). + + Added =tools/password-store= -- Emacs as a password manager, using [[https://www.passwordstore.org/][pass]] as a + backend (contributed by [[https://github.com/bandresen][brandresen]]). + + Added =app/irc= -- Emacs as an IRC client, using circe (contributed by + [[https://github.com/bandresen][brandresen]]). + ~+pass/ivy~ for ivy integration, with edit/copy field/open url actions. + ~helm-pass~ for helm integration. - + Added =lang/hy= -- support for [[http://hylang.org][hylang]], a combination of Lisp and Python (thanks to [[https://github.com/bandresen][bandresen]]). + + Added =lang/hy= -- support for [[http://hylang.org][hylang]], a combination of Lisp and Python + (thanks to [[https://github.com/bandresen][bandresen]]). + Added =lang/ocaml= -- support for [[https://ocaml.org/][OCAML]] (thanks to [[https://github.com/Ptival][Ptival]]) + Added =lang/plantuml= -- drawing diagrams in plain text + Added =lang/perl= -- Perl6 support for Emacs - + Added =ui/tabbar= -- add tabs to Doom via [[https://github.com/dholm/tabbar][tabbar]] (I don't recommend using it) + + Added =ui/tabbar= -- add tabs to Doom via [[https://github.com/dholm/tabbar][tabbar]] (I don't recommend using + it) + Removed =lang/org= + Added =org= -- a new module category for org and org extensions + Removed =app/present= (replaced mostly with =org/org-present=) - + =org/org-babel= -- executable code snippets in org-mode, with support for a variety of languages. + + =org/org-babel= -- executable code snippets in org-mode, with support for + a variety of languages. + =org/org-capture= -- a better org-capture, in or outside of Emacs. + =org/org-export= -- a centralized export system with more export backends. + =org/org-notebook= -- org-mode as a general notebook. + =org/org-present= -- org-mode for presentations. + Added =tools/impatient-mode= -- show off live buffers via HTTP. + =core= - + New variable: ~doom-host-dir~, as a base path for ~doom-etc-dir~ and ~doom-cache-dir~. - + New hooks: ~doom-init-hook~ and ~doom-post-init-hook~, which are run on ~emacs-startup-hook~. This is meant to simplify post-Emacs initialization hooks (~after-init-hook~, ~emacs-startup-hook~ and ~window-setup-hook~) into two unambiguous ones. - + Fix =private//init.el= not being auto-loaded when the user's private module is absent in the root init.el file. - + Improve error handling across the board. Emacs should now report more helpful errors. Catastrophic errors will be less likely to inhibit later modules from being loaded. + + New variable: ~doom-host-dir~, as a base path for ~doom-etc-dir~ and + ~doom-cache-dir~. + + New hooks: ~doom-init-hook~ and ~doom-post-init-hook~, which are run on + ~emacs-startup-hook~. This is meant to simplify post-Emacs initialization + hooks (~after-init-hook~, ~emacs-startup-hook~ and ~window-setup-hook~) into + two unambiguous ones. + + Fix =private//init.el= not being auto-loaded when the + user's private module is absent in the root init.el file. + + Improve error handling across the board. Emacs should now report more + helpful errors. Catastrophic errors will be less likely to inhibit later + modules from being loaded. + Unit-tests have been moved to their respective modules (and =core/test/=). - + Fix ~def-setting!~ to act more like ~defmacro~; don't aggressively evaluate its arguments on expansion. - + New function: ~doom-set-buffer-real BUFFER FLAG~ -- makes Doom consider BUFFER real, no matter what. - + Add INSTALLED-ONLY-P argument to ~doom-get-packages~ to filter packages that aren't installed. + + Fix ~def-setting!~ to act more like ~defmacro~; don't aggressively evaluate + its arguments on expansion. + + New function: ~doom-set-buffer-real BUFFER FLAG~ -- makes Doom consider + BUFFER real, no matter what. + + Add INSTALLED-ONLY-P argument to ~doom-get-packages~ to filter packages that + aren't installed. + =core-ui= - + Add quit confirmation when trying to close a frame that contains real buffers. - + Fix quit confirmations for clients connected to ~emacs --daemon~ with ~emacsclient~. - + Brought back [[https://github.com/hlissner/emacs-nlinum-hl][nlinum-hl]], which offers some line number fixes for web-mode and markdown-mode. - + Don't report the buffer modified when injecting (or deleting) trailing whitespace in ~doom|inject-trailing-whitespace~ and ~doom|init-highlight-indentation~. + + Add quit confirmation when trying to close a frame that contains real + buffers. + + Fix quit confirmations for clients connected to ~emacs --daemon~ with + ~emacsclient~. + + Brought back [[https://github.com/hlissner/emacs-nlinum-hl][nlinum-hl]], which offers some line number fixes for web-mode + and markdown-mode. + + Don't report the buffer modified when injecting (or deleting) trailing + whitespace in ~doom|inject-trailing-whitespace~ and + ~doom|init-highlight-indentation~. + [[https://github.com/domtronn/all-the-icons.el][all-the-icons]] now fails gracefully in the terminal. - + New hook: ~doom-init-ui-hook~, run whenever the UI needs to be reloaded (and once at startup). Theme and font loading is also attached to this hook. - + New variables for font and theme loading: ~doom-theme~, ~doom-font~, ~doom-variable-pitch-font~, and ~doom-unicode-font~. - + New variables for customizing line numbers: ~doom-line-number-lpad~, ~doom-line-number-rpad~, and ~doom-line-number-pad-char~. These were added to facilitate custom whitespace characters in line numbers, e.g. /u2002 (a unicode character that looks like a space). Doing so fixes an issue where ~whitespace-mode~ with ~space-mark~ would replace all space characters indiscriminately, even in line numbers. - + Add hooks ~doom-pre-reload-theme-hook~ and ~doom-post-reload-theme-hook~ to ~doom/reload-theme~ command. + + New hook: ~doom-init-ui-hook~, run whenever the UI needs to be reloaded + (and once at startup). Theme and font loading is also attached to this + hook. + + New variables for font and theme loading: ~doom-theme~, ~doom-font~, + ~doom-variable-pitch-font~, and ~doom-unicode-font~. + + New variables for customizing line numbers: ~doom-line-number-lpad~, + ~doom-line-number-rpad~, and ~doom-line-number-pad-char~. These were added + to facilitate custom whitespace characters in line numbers, e.g. /u2002 (a + unicode character that looks like a space). Doing so fixes an issue where + ~whitespace-mode~ with ~space-mark~ would replace all space characters + indiscriminately, even in line numbers. + + Add hooks ~doom-pre-reload-theme-hook~ and ~doom-post-reload-theme-hook~ + to ~doom/reload-theme~ command. + =core-popups= - + Fix an issue where more specific popup rules were being overriden by more general rules. - + New command: ~doom/other-popup~ -- cycles between open popup windows and the original buffer that you originated from. Discussed in [[https://github.com/hlissner/.emacs.d/issues/141][#141]]. + + Fix an issue where more specific popup rules were being overriden by more + general rules. + + New command: ~doom/other-popup~ -- cycles between open popup windows and + the original buffer that you originated from. Discussed in [[https://github.com/hlissner/.emacs.d/issues/141][#141]]. + =core-editor= - + Change what files recentf will ignore: everything in ~doom-host-dir~ is now ignored and anything else in ~doom-local-dir~ won't be. - + New interactive command: ~doom/scratch-buffer~ (replaces ~+doom:scratch-buffer~ in =:ui doom=). + + Change what files recentf will ignore: everything in ~doom-host-dir~ is + now ignored and anything else in ~doom-local-dir~ won't be. + + New interactive command: ~doom/scratch-buffer~ (replaces + ~+doom:scratch-buffer~ in =:ui doom=). + =core-packages= - + Generalize ~doom-package-*-p~ functions into ~(doom-package-prop NAME PROPERTY)~. - + Fix quelpa temporary files (in ~quelpa-build-dir~) not being removed when a quelpa package was uninstalled. - + New hook: ~doom-reload-hook~ (sort of). This has been around for a while, but now it is defined and documented. It runs when ~doom/reload-load-path~ is called (which gets called remotely if you run package management while an Emacs session is active). + + Generalize ~doom-package-*-p~ functions into ~(doom-package-prop NAME + PROPERTY)~. + + Fix quelpa temporary files (in ~quelpa-build-dir~) not being removed when + a quelpa package was uninstalled. + + New hook: ~doom-reload-hook~ (sort of). This has been around for a while, + but now it is defined and documented. It runs when ~doom/reload-load-path~ + is called (which gets called remotely if you run package management while + an Emacs session is active). + ~load!~ can now accept a string as its first argument (the path). + =feature= + =feature/evil= - + Remove =goto-last-change=, which conflicts with =goto-chg=, which is a dependency of evil (that does the exact same thing, but is what evil uses). + + Remove =goto-last-change=, which conflicts with =goto-chg=, which is a + dependency of evil (that does the exact same thing, but is what evil + uses). + =feature/jump= + Remove ~:xref-backend~ setting (replaced with ~:jump~). - + Add ~:jump MAJOR-MODE &rest PLIST~ setting, which recognizes four properties (that accept functions/commands): + + Add ~:jump MAJOR-MODE &rest PLIST~ setting, which recognizes four + properties (that accept functions/commands): + ~:definition~: jumps to the definition of the symbol under point. - + ~:references~: lists all references of the symbol at point and lets you jump to them. + + ~:references~: lists all references of the symbol at point and lets you + jump to them. + ~:documentation~: shows documentation for the symbol at point. - + ~:xref-backend~: a function that serves as an xref backend; this replaces ~:definition~ and ~:references~. + + ~:xref-backend~: a function that serves as an xref backend; this + replaces ~:definition~ and ~:references~. + =feature/workspaces= - + New function: ~+workspace-contains-buffer-p &optional BUFFER PERSP~ -- return non-nil if BUFFER (defaults to current buffer) is in PERSP (defaults to current perspective). + + New function: ~+workspace-contains-buffer-p &optional BUFFER PERSP~ -- + return non-nil if BUFFER (defaults to current buffer) is in PERSP + (defaults to current perspective). + Fix ~+workspace-p~ not detecting a perspective struct. + Fix ~+workspace-buffer-list~ not preserving buffer order (by recency). + =completion= + =completion/company= - + Add ~company-dabbrev~ and ~company-ispell~ to the default Company backends. This ensures you have some completion available in buffers previously without any. This is especially useful for text-mode buffers. Discussed in [[https://github.com/hlissner/.emacs.d/issues/134][#134]]. + + Add ~company-dabbrev~ and ~company-ispell~ to the default Company + backends. This ensures you have some completion available in buffers + previously without any. This is especially useful for text-mode buffers. + Discussed in [[https://github.com/hlissner/.emacs.d/issues/134][#134]]. + =ui= + =ui/doom= - + Vastly improve daemon and terminal support for doom-themes by reloading the theme when a new client is attached, or new terminal/daemon frame is created. This prevents incorrect colors from bleeding across face class barriers. - + Removed evil command ~+doom:scratch-buffer~ (replaced with ~doom/scratch-buffer~ in =core-ui=). - + Decoupled font and theme loading from this module. This has now been delegated to =core-ui=. These variables no longer exist: ~+doom-theme~, ~+doom-font~, ~+doom-variable-pitch-font~, ~+doom-unicode-font~. Discussed in [[https://github.com/hlissner/.emacs.d/issues/117][#117]]. + + Vastly improve daemon and terminal support for doom-themes by reloading + the theme when a new client is attached, or new terminal/daemon frame is + created. This prevents incorrect colors from bleeding across face class + barriers. + + Removed evil command ~+doom:scratch-buffer~ (replaced with + ~doom/scratch-buffer~ in =core-ui=). + + Decoupled font and theme loading from this module. This has now been + delegated to =core-ui=. These variables no longer exist: ~+doom-theme~, + ~+doom-font~, ~+doom-variable-pitch-font~, ~+doom-unicode-font~. Discussed + in [[https://github.com/hlissner/.emacs.d/issues/117][#117]]. + =ui/doom-dashboard= + Fix dashboard not opening in emacsclient/daemon frames. - + Add =gg= and =G= keybinds in dashboard for moving to the first and last button (respectively). + + Add =gg= and =G= keybinds in dashboard for moving to the first and last + button (respectively). + =ui/doom-modeline= - + Reorganize order of modeline segments, placing the vc branch last. This minimizes the non-uniform spacing caused by all-the-icon icons. - + Fix blank mode-line caused by a nil buffer-file-name (used in vcs segment). For example, in org indirect buffers. + + Reorganize order of modeline segments, placing the vc branch last. This + minimizes the non-uniform spacing caused by all-the-icon icons. + + Fix blank mode-line caused by a nil buffer-file-name (used in vcs + segment). For example, in org indirect buffers. + =tools= + =tools/neotree= - + Fix neotree refusing to open when it was already open in another frame. This is especially frustrating when neotree is open in a (likely buried) terminal emacsclient session, and you're trying to open neotree in another. + + Fix neotree refusing to open when it was already open in another frame. + This is especially frustrating when neotree is open in a (likely buried) + terminal emacsclient session, and you're trying to open neotree in + another. + =lang= + =lang/cc= + Add code completion to glsl-mode (powered by [[https://github.com/Kaali/company-glsl][company-glsl]]). + =lang/markdown= - + Source blocks are now fontified natively, with the fontification of their native major-modes (see ~markdown-fontify-code-blocks-natively~). + + Source blocks are now fontified natively, with the fontification of their + native major-modes (see ~markdown-fontify-code-blocks-natively~). + =lang/sh= - + Fix fontification of command substitutions in double-quoted strings to help distinguish them from the rest of string literals. + + Fix fontification of command substitutions in double-quoted strings to + help distinguish them from the rest of string literals. + =lang/web= + Fix HTML entity encoding/decoding functions. + =org= + =org/org= + Fix M-RET in plain lists not preserving indent level for new items. - + Fix cursor jumping away when toggling folds or realigning org tables (pressing TAB). - + Minimized keybindings into the bare necessities; most custom bindings have been moved to my private module. + + Fix cursor jumping away when toggling folds or realigning org tables + (pressing TAB). + + Minimized keybindings into the bare necessities; most custom bindings have + been moved to my private module. + =org/org-capture= + Start org-capture-mode in insert-mode (if evil is loaded). * 2.0.3 (Jun 11, 2017) + *New modules* - + =ui/unicode= -- fixes unicode font-rendering for a variety of languages, using [[https://github.com/rolandwalker/unicode-fonts][unicode-fonts]]. - + =ui/evil-goggles= -- visual feedback for edit operations in evil-mode, using [[https://github.com/edkolev/evil-goggles][evil-goggles]]. - + =ui/nav-flash= (extracted from =ui/doom=) -- flashes current line when moving cursor considerable distrances, using [[https://github.com/rolandwalker/nav-flash][nav-flash]]. - + =tools/neotree= (extracted from =feature/evil=) -- a file explorer sidebar, using [[https://github.com/jaypei/emacs-neotree/][neotree]]. + + =ui/unicode= -- fixes unicode font-rendering for a variety of languages, + using [[https://github.com/rolandwalker/unicode-fonts][unicode-fonts]]. + + =ui/evil-goggles= -- visual feedback for edit operations in evil-mode, using + [[https://github.com/edkolev/evil-goggles][evil-goggles]]. + + =ui/nav-flash= (extracted from =ui/doom=) -- flashes current line when + moving cursor considerable distrances, using [[https://github.com/rolandwalker/nav-flash][nav-flash]]. + + =tools/neotree= (extracted from =feature/evil=) -- a file explorer sidebar, + using [[https://github.com/jaypei/emacs-neotree/][neotree]]. + =core= - + New special file: =private//init.el= is now loaded before modules (after core). + + New special file: =private//init.el= is now loaded before + modules (after core). + =:private = is now automatically loaded by ~doom!~. + New help command: ~doom/describe-module~ -- for DOOM modules. + New help command: ~doom/describe-setting~ -- for possible ~set!~ targets. + Add =make doctor= to diagnose common issues with your setup & environment. - + Removed ~def-bootstrap~ & ~doom-bootstrap~. It was a clumsy system. I'll replace it with README.org files in each module, with working, tangle-able source blocks. + + Removed ~def-bootstrap~ & ~doom-bootstrap~. It was a clumsy system. I'll + replace it with README.org files in each module, with working, tangle-able + source blocks. + =core-os= + Don't use GTK tooltips on Linux (ugly!). + =core-ui= + New plugin: [[https://github.com/syl20bnr/vi-tilde-fringe][vi-tilde-fringe]] -- subtle, vim-ish empty-line indicator. - + New variable: ~doom-ui-mode-names~ (alist) -- for changing ~mode-name~ of major-modes. - + Fix left-over hl-line overlays when hl-line-mode is uncleanly killed (e.g. when the major-mode is changed). + + New variable: ~doom-ui-mode-names~ (alist) -- for changing ~mode-name~ of + major-modes. + + Fix left-over hl-line overlays when hl-line-mode is uncleanly killed (e.g. + when the major-mode is changed). + Fix disappearing line numbers in nlinum (thanks to [[https://github.com/gilbertw1][gilbertw1]]). + Move theme/font bootstrap to core-ui. + New hook: ~doom-init-ui-hook~ + New global minor-mode ~doom-big-font-mode~ and variable ~doom-big-font~. + =core-keybinds= - + New property for ~map!~: ~:textobj~ -- for binding to evil text objects keymaps. + + New property for ~map!~: ~:textobj~ -- for binding to evil text objects + keymaps. + Fix ~:after~ & ~:map*~ properties in ~map!~ macro (wasn't working at all). - + Change keybinding scheme; the leader key is now =SPC= and localleader =SPC m=, inspired by spacemacs. + + Change keybinding scheme; the leader key is now =SPC= and localleader =SPC + m=, inspired by spacemacs. + Enable which-key pops up for all keys. + =core-popups= + Properly persist ~popup~ window parameter between sessions. - + Improve magit+shackle integration; ensures that links will be followed within the popup they were opened. - + Add ~doom-popup-no-fringe~ option (default = t). When non-nil, fringes will be disabled in popup windows (in ~doom-popup-mode~). + + Improve magit+shackle integration; ensures that links will be followed + within the popup they were opened. + + Add ~doom-popup-no-fringe~ option (default = t). When non-nil, fringes + will be disabled in popup windows (in ~doom-popup-mode~). + =core-packages= + Fix failure to detect out-of-date QUELPA packages. + Fix ~custom-file~ (and custom settings) not being loaded. - + Fix crash in ~doom-update-package~ caused by unreachable, new dependencies. + + Fix crash in ~doom-update-package~ caused by unreachable, new + dependencies. + Make ~doom-update-package~ atomic in case of failure. + Make ~doom-refresh-packages~ async. - + Improve the security of package management (via ELPA) by a) forcing Emacs to verify TLS connections and b) use HTTPS sources for MELPA and ELPA. - + Make ~doom-get-outdated-packages~ asynchronous, producing a substantial speed-up when updating packages from Quelpa sources. + + Improve the security of package management (via ELPA) by a) forcing Emacs + to verify TLS connections and b) use HTTPS sources for MELPA and ELPA. + + Make ~doom-get-outdated-packages~ asynchronous, producing a substantial + speed-up when updating packages from Quelpa sources. + =feature= + =feature/evil= + Add ~+evil:mc~ command [[https://github.com/gabesoft/evil-mc][evil-mc]]. + Add ~+evil/mc-make-cursor-here~, with visual-block support for [[https://github.com/gabesoft/evil-mc][evil-mc]]. + =d= (operator) now invokes ~wgrep-mark-deletion~ in wgrep buffers. - + New code folding system that combines hideshow (built-in; for indent/marker-based folds) and [[https://github.com/alexmurray/evil-vimish-fold][evil-vimish-fold]] (for arbitrary folds). + + New code folding system that combines hideshow (built-in; for + indent/marker-based folds) and [[https://github.com/alexmurray/evil-vimish-fold][evil-vimish-fold]] (for arbitrary folds). + Fix [[https://github.com/redguardtoo/evil-matchit][evil-matchit]] in visual mode. + Fix [[https://github.com/hlissner/evil-multiedit][evil-multiedit]] M-d bindings. + Fix stringp error caused by unintialized state in hideshow. + Fix evil normal-mode keybindings in help-mode popups. - + Change how ~+evil-esc-hook~ hooks are handled: they now short-circuit on the first hook to return non-nil. + + Change how ~+evil-esc-hook~ hooks are handled: they now short-circuit on + the first hook to return non-nil. + Remove ~+evil/matchit~ (thin wrapper around ~evilmi-jump-items~). + Remove [[https://github.com/jaypei/emacs-neotree/][neotree]] plugin (moved to =tools/neotree=). + =feature/jump= @@ -322,18 +437,27 @@ + =feature/workspaces= + No longer saves session on quit if session was blank. + Fix persp-mode switching to main workspace if auto-resume is on. - + Fix ~+workspace-get~ returning a non-nil "null perspective" on some occasions where NAME doesn't exist. This is because ~persp-get-by-name~ returns the value of ~persp-not-persp~ to signify null instead of actual nil. - + Decouple workspace buffer-list functions from doom buffer library. Now, the workspaces module will explicitly advise ~doom-buffer-list~. - + ~+workspace-list~ now returns a list of perspective structs, rather than a list of strings. ~+workspace-list-names~ was introduced for the latter. + + Fix ~+workspace-get~ returning a non-nil "null perspective" on some + occasions where NAME doesn't exist. This is because ~persp-get-by-name~ + returns the value of ~persp-not-persp~ to signify null instead of actual + nil. + + Decouple workspace buffer-list functions from doom buffer library. Now, + the workspaces module will explicitly advise ~doom-buffer-list~. + + ~+workspace-list~ now returns a list of perspective structs, rather than a + list of strings. ~+workspace-list-names~ was introduced for the latter. + =completion= + =completion/company= - + Change ~:company-backends~ to accept a variadic list of backends to prepend to ~company-backends~. Its signature is now ~(set! :company-backends MODES &rest BACKENDS)~ ([[https://github.com/hlissner/.emacs.d/pull/125][#125]]). + + Change ~:company-backends~ to accept a variadic list of backends to + prepend to ~company-backends~. Its signature is now ~(set! + :company-backends MODES &rest BACKENDS)~ ([[https://github.com/hlissner/.emacs.d/pull/125][#125]]). + =completion/ivy= + Flexible column width for ~+ivy/tasks~. + =ui= + =ui/doom= - + New plugin: [[https://github.com/hlissner/emacs-solaire-mode][solaire-mode]] -- replaces ~doom-buffer-mode~; brightens source windows and dims transient, temporary, or popup windows. - + BREAKING CHANGE: Decoupled theme and font loading from ui/doom. This has been moved to core-ui. The following variables have been renamed: + + New plugin: [[https://github.com/hlissner/emacs-solaire-mode][solaire-mode]] -- replaces ~doom-buffer-mode~; brightens source + windows and dims transient, temporary, or popup windows. + + BREAKING CHANGE: Decoupled theme and font loading from ui/doom. This has + been moved to core-ui. The following variables have been renamed: + ~+doom-theme~ => ~doom-theme~ + ~+doom-font~ => ~doom-font~ + ~+doom-variable-pitch-font~ => ~doom-variable-pitch-font~ @@ -344,22 +468,26 @@ + The vcs segment now uses a slightly darker color (in clean branches). + Fix blank mode-line when buffer-file-name is nil ([[https://github.com/hlissner/.emacs.d/pull/130][#130]]) + =ui/nav-flash= - + Fix over-aggressive nav-flash'ing on evil-multiedit or in eshell/term buffers. + + Fix over-aggressive nav-flash'ing on evil-multiedit or in eshell/term + buffers. + =tools= + =tools/gist= + Changed new gists to be private by default. + =lang= + =lang/haskell= - + New plugin: [[https://github.com/iquiw/company-ghc][company-ghc]] -- code-completion support for haskell (requires ~ghc-mod~). + + New plugin: [[https://github.com/iquiw/company-ghc][company-ghc]] -- code-completion support for haskell (requires + ~ghc-mod~). + =lang/php= - + New plugin: [[https://github.com/xcwen/ac-php][company-php]] -- code-completion support for php (requires a TAGs file created with [[https://github.com/xcwen/phpctags][phpctags]]). + + New plugin: [[https://github.com/xcwen/ac-php][company-php]] -- code-completion support for php (requires a + TAGs file created with [[https://github.com/xcwen/phpctags][phpctags]]). + =lang/emacs-lisp= + Omit defuns inside macros from the imenu index. + Don't enable ~flycheck-mode~ in emacs.d files. + =lang/org= + Replace org-bullets source with more up-to-date fork. + =lang/scala= - + Fix ~void-variable imenu-auto-rescan~ error caused by ~ensime--setup-imenu~ trying to use imenu variables before loading imenu. + + Fix ~void-variable imenu-auto-rescan~ error caused by + ~ensime--setup-imenu~ trying to use imenu variables before loading imenu. + =private/hlissner= + Add =gzz= binding (~+evil/mc-make-cursor-here~) + Add =:mc= ex command (~+evil:mc~) @@ -370,15 +498,26 @@ * 2.0.2 (May 13, 2017) + *New modules* + =tools/gist= -- allows you to manage and create gists, using [[https://github.com/defunkt/gist.el][gist.el]]. - + =tools/term= -- quickly spawn a terminal (in a popup or buffer) using [[https://github.com/emacsorphanage/multi-term][multi-term]] + + =tools/term= -- quickly spawn a terminal (in a popup or buffer) using + [[https://github.com/emacsorphanage/multi-term][multi-term]] + =app/twitter= -- Emacs as a twitter client, using [[https://github.com/hayamiz/twittering-mode][twittering-mode]] + =core= - + Stop "buffer is read-only" messages while in minibuffer, when I accidentally try to edit the prompt. It's correct behavior, but it consumes the minibuffers, hiding what I'm typing. - + Fix Emacs daemon compatibility with DOOM, which assumed a frame will always be visible on startup, causing errors when Emacs is launched as a daemon. - + Code-style change: use sharp-quote for functions. This makes the byte-compiler output missing-function warnings when they can't be found, which is helpful. - + Stop projectile & git-gutter checks when in a TRAMP buffer; it causes tremendous slowdowns, to the point of being unusable. - + Add ~message!~ & ~format!~ macros for printing colored output either a) in a popup buffer when in an interactive session or b) with ansi codes when in an noninteractive session. - + Changed ~doom/recompile~ to aggresively recompile =core/core.el= to fix load-path inconsistencies when you've byte-compiled your config and run a package management command. + + Stop "buffer is read-only" messages while in minibuffer, when I accidentally + try to edit the prompt. It's correct behavior, but it consumes the + minibuffers, hiding what I'm typing. + + Fix Emacs daemon compatibility with DOOM, which assumed a frame will always + be visible on startup, causing errors when Emacs is launched as a daemon. + + Code-style change: use sharp-quote for functions. This makes the + byte-compiler output missing-function warnings when they can't be found, + which is helpful. + + Stop projectile & git-gutter checks when in a TRAMP buffer; it causes + tremendous slowdowns, to the point of being unusable. + + Add ~message!~ & ~format!~ macros for printing colored output either a) in a + popup buffer when in an interactive session or b) with ansi codes when in an + noninteractive session. + + Changed ~doom/recompile~ to aggresively recompile =core/core.el= to fix + load-path inconsistencies when you've byte-compiled your config and run a + package management command. + =core-lib= + Add ~:append~ support to ~add-transient-hook!~ macro. + =core-popups= @@ -394,33 +533,45 @@ + Fix lack of syntax highlighting in scratch buffer + Use comment face as default color for ~+doom-folded-face~ + =ui/doom-modeline= - + Fix modeline disappearing due to loss of state. ~doom--modeline-format~ was being killed when switching major modes. + + Fix modeline disappearing due to loss of state. ~doom--modeline-format~ + was being killed when switching major modes. + =feature= + =feature/eval= + Fix ~:repl~ & ~+eval/repl-send-region~. - + Fix ~+eval/region~ failing only on first invocation because ~+eval-runners~ wasn't populated until quickrun is loaded. + + Fix ~+eval/region~ failing only on first invocation because + ~+eval-runners~ wasn't populated until quickrun is loaded. + Add TAB auto-completion in comint-mode and REPL buffers + =feature/evil= + Fix ~:mv~ & ~:rm~. - + Fix Neotree forgetting that it's a neotree window when switching perspectives. - + New plugin: [[https://github.com/gabesoft/evil-mc][evil-mc]] -- multiple cursors for evil-mode (thanks to [[https://github.com/gilbertw1][gilbertw1]]) - + Achieve vim parity w/ file modifiers (~+evil*ex-replace-special-filenames~) + + Fix Neotree forgetting that it's a neotree window when switching + perspectives. + + New plugin: [[https://github.com/gabesoft/evil-mc][evil-mc]] -- multiple cursors for evil-mode (thanks to + [[https://github.com/gilbertw1][gilbertw1]]) + + Achieve vim parity w/ file modifiers + (~+evil*ex-replace-special-filenames~) + =feature/version-control= + New plugin: [[https://github.com/pidu/git-timemachine][git-timemachine]] -- stepping through a file's git history. - + New plugin: [[https://github.com/sshaw/git-link][git-link]] -- generates and opens links to "this file"'s remote repo with your default browser. + + New plugin: [[https://github.com/sshaw/git-link][git-link]] -- generates and opens links to "this file"'s remote + repo with your default browser. + Add ~:gbrowse~: find this file on github/gitlab/bitbucket in your browser. + Add ~:gissues~: open this project's issues page in your browser. + Fix ~+vcs/git-browse~ and ~+vcs/git-browse-issues~. + =feature/workspaces= + Add BANG modifier to ~:cleanup~ to span all workspaces. - + Since persp-mode handles its "nil" perspective differently from others, pretend that it doesn't exist and spawn a new "main" perspective. + + Since persp-mode handles its "nil" perspective differently from others, + pretend that it doesn't exist and spawn a new "main" perspective. + =completion= + =completion/ivy= + Add ~+ivy-do-action!~ factory macro. Use it for in-ivy keybindings. - + Add ripgrep file search support. Ripgrep doesn't support multiline searches, but is faster. Use =ag= for multiline (or more PCRE-compliant) searches. - + Reverse ivy's built-in behavior of reversing escaping of parentheses when using the_silver_searcher or ripgrep. If you want literal parentheses, escape them explicitly. + + Add ripgrep file search support. Ripgrep doesn't support multiline + searches, but is faster. Use =ag= for multiline (or more PCRE-compliant) + searches. + + Reverse ivy's built-in behavior of reversing escaping of parentheses when + using the_silver_searcher or ripgrep. If you want literal parentheses, + escape them explicitly. + Removed ~def-counsel-action!~ - + When a selection is used for ~:ag~, the selected text is now regexp-escaped. + + When a selection is used for ~:ag~, the selected text is now + regexp-escaped. + =tools= + =tools/tmux= + Fix and refactor library (general update). @@ -431,63 +582,90 @@ + Improve electric indent support for ~js2-mode~ and ~rjsx-mode~ + =lang/org= + Fix org-checkbox-statistics not respecting underlying faces - + Disable ~show-paren-mode~ in org-mode due to conflicts with org-indent which cause indentation flickering. - + Bind ~M-z~ (~undo~), ~C-u~ (~delete-line~) and ~C-w~ (~delete-word~) in ~org-store-link~ and ~org-insert-link~ prompts. - + Apply org-headline-done face to checked-checkbox lines, to match how DONE headlines look. Also applies this to items whose subitems are all complete. - + Changed default fold behavior when loading an org-file to unfold first level folds. - + Add =bin/org-capture= shell script for invoking the org-capture frame from outside Emacs. - + Add babel support for: rust, restclient, sql, google translate, haskell and go. - + Add ~+org-pretty-mode~ for toggling "pretty" fontification. Prettified entities or hidden regions can make editing difficult. + + Disable ~show-paren-mode~ in org-mode due to conflicts with org-indent + which cause indentation flickering. + + Bind ~M-z~ (~undo~), ~C-u~ (~delete-line~) and ~C-w~ (~delete-word~) in + ~org-store-link~ and ~org-insert-link~ prompts. + + Apply org-headline-done face to checked-checkbox lines, to match how DONE + headlines look. Also applies this to items whose subitems are all + complete. + + Changed default fold behavior when loading an org-file to unfold first + level folds. + + Add =bin/org-capture= shell script for invoking the org-capture frame from + outside Emacs. + + Add babel support for: rust, restclient, sql, google translate, haskell + and go. + + Add ~+org-pretty-mode~ for toggling "pretty" fontification. Prettified + entities or hidden regions can make editing difficult. + =lang/python= + Add ipython detection and REPL support - + Simplify matchit key (%) in python. The default is to prioritize if-else and other blocks over brackets. I found this frustrating. + + Simplify matchit key (%) in python. The default is to prioritize if-else + and other blocks over brackets. I found this frustrating. + =lang/web= - + Fix ~+web-encode-entities~, ~+web-decode-entities~, ~+web/encode-entities-region~ and ~+web/decode-entities-region~. + + Fix ~+web-encode-entities~, ~+web-decode-entities~, + ~+web/encode-entities-region~ and ~+web/decode-entities-region~. + =app= + =app/email= + Replace mbsync with offlineimap. - + Add support for marking multiple emails when in visual-mode (evil) in a ~mu4e-headers-mode~ buffer. + + Add support for marking multiple emails when in visual-mode (evil) in a + ~mu4e-headers-mode~ buffer. + Fix trash mark causing duplicates upstream. + Make refiling more compatible with archiving in gmail. + =private/hlissner= - + Add keybinds for [[https://github.com/gabesoft/evil-mc][evil-mc]]: based around ~gz~ (like ~gzz~ to toggle cursor freeze, and ~gzc~ to create a cursor "here"). + + Add keybinds for [[https://github.com/gabesoft/evil-mc][evil-mc]]: based around ~gz~ (like ~gzz~ to toggle cursor + freeze, and ~gzc~ to create a cursor "here"). + Add keybinds for [[https://github.com/hlissner/evil-multiedit][evil-multiedit]]: based around ~M-d~ and ~M-D~. + Replace ~:find~ with ~:ag~, ~:agc[wd]~, ~:rg~ and ~:rgc[wd]~. + Fix ~:x~ ex command (open scratch buffer) * 2.0.1 (Apr 8, 2017) + *New modules* - + =feature/jump= -- extra code navigation tools, a jump-to-definition implementation that just works ([[https://github.com/jacktasia/dumb-jump][dumb-jump]]), and tools for looking things up online. + + =feature/jump= -- extra code navigation tools, a jump-to-definition + implementation that just works ([[https://github.com/jacktasia/dumb-jump][dumb-jump]]), and tools for looking things up + online. + =app/rss= -- Emacs as an RSS reader, using [[https://github.com/skeeto/elfeed][elfeed]] + =core= + Fix ~doom-kill-process-buffers~ not killing process buffers. + Fix ~hippie-expand~ in ex mode/the minibuffer. + Remove unnecessary ~provide~'s in core autoloaded libraries. - + Fix ~doom-buffers-in-mode~ not detecting buffers in major-modes derived from the target mode. + + Fix ~doom-buffers-in-mode~ not detecting buffers in major-modes derived from + the target mode. + Fix out-of-bounds error in ~doom/backward-delete-whitespace-to-column~. + Remove ~doom/append-semicolon~; use evil append mode instead. - + Add module bootstrapping mechanism (for installing external dependencies); see ~doom-bootstrap~, ~make bootstrap~ and ~def-bootstrap!~. + + Add module bootstrapping mechanism (for installing external dependencies); + see ~doom-bootstrap~, ~make bootstrap~ and ~def-bootstrap!~. + Use ~doom-local-dir~ for TRAMP's temp files. - + New variable: ~doom-real-buffer-functions~ -- for customizing how ~doom-real-buffer-p~ determines what a "real" buffer is. - + Add ~def-memoize!~ for defining memoized functions and ~doom-memoize~ for memoizing existing ones. + + New variable: ~doom-real-buffer-functions~ -- for customizing how + ~doom-real-buffer-p~ determines what a "real" buffer is. + + Add ~def-memoize!~ for defining memoized functions and ~doom-memoize~ for + memoizing existing ones. + =core-lib= + Fix ~remove-hook!~ macro not expanding correctly. - + New macro: ~add-transient-hook!~; attach a hook to a hook or function that will remove itself once it runs. + + New macro: ~add-transient-hook!~; attach a hook to a hook or function that + will remove itself once it runs. + =core-packages= + Add ~doom/recompile~, for re-byte-compiling DOOM. - + Add ~doom/compile-lite~ / ~make compile-lite~, which will only byte-compile DOOM's core files, which is a lighter alternative to ~doom/compile~. + + Add ~doom/compile-lite~ / ~make compile-lite~, which will only + byte-compile DOOM's core files, which is a lighter alternative to + ~doom/compile~. + Fix duplicates packages appearing in package-management retrieval library. + =core-os= - + Reducing how aggressive ~exec-path~ caching is. A =persistent-soft= /and/ byte-compilation cache is excessive. The latter is good (and flexible) enough. + + Reducing how aggressive ~exec-path~ caching is. A =persistent-soft= /and/ + byte-compilation cache is excessive. The latter is good (and flexible) + enough. + =core-popups= + Set default ~:align~ and ~:select~ shackle properties (of =8= and =below=). + =core-editor= - + Advise ~delete-trailing-whitespace~ to not affect current line. If evil is loaded, then it may affect the current line if we're *not* in insert mode. + + Advise ~delete-trailing-whitespace~ to not affect current line. If evil is + loaded, then it may affect the current line if we're *not* in insert mode. + =core-projects= - + Recognize =package.json= as a project-root file (see ~projectile-project-root-files~). + + Recognize =package.json= as a project-root file (see + ~projectile-project-root-files~). + Fix ~:files~ property in ~def-project-mode!~ not detecting project files. + =core-ui= - + Replace [[https://github.com/DarthFennec/highlight-indent-guides][highlight-indent-guides-mode]] with [[https://github.com/antonj/Highlight-Indentation-for-Emacs/][highlight-indentation-mode]]; the former won't display indent guides on blank lines, even with my whitespace injection hook. + + Replace [[https://github.com/DarthFennec/highlight-indent-guides][highlight-indent-guides-mode]] with [[https://github.com/antonj/Highlight-Indentation-for-Emacs/][highlight-indentation-mode]]; the + former won't display indent guides on blank lines, even with my whitespace + injection hook. + =feature= + =feature/eval= + Fix build tasks system; now tested and works. @@ -499,20 +677,27 @@ + Enable ~yas-triggers-in-field~, which adds support for nested snippets. + Fix snippet aliases (~%alias~). + =feature/version-control= - + Remove ~evil-magit~ and evil-ified bindings for magit in general. Instead, just use emacs mode. If evil is needed, toggle it with =C-z=. + + Remove ~evil-magit~ and evil-ified bindings for magit in general. Instead, + just use emacs mode. If evil is needed, toggle it with =C-z=. + =feature/workspaces= + Fix ~+workspace/kill-session~ not actually killing the session. - + Revert forcing persp-mode to stay quiet when it saves the session to file. It just isn't important enough. - + Create a new perspective when switching projects (integrates projectile with persp-mode). + + Revert forcing persp-mode to stay quiet when it saves the session to file. + It just isn't important enough. + + Create a new perspective when switching projects (integrates projectile + with persp-mode). + Create a new perspective for new frames. + =ui= + =ui/doom= - + Improve ~doom-buffer-mode~ heuristics with ~doom-real-buffer-p~, so that only truly real buffers are enlightened. - + Replace plugin [[https://github.com/Malabarba/beacon][beacon]] with [[https://github.com/rolandwalker/nav-flash][nav-flash]] -- the former had a habit of causing pauses and pushing my cursor. It also didn't look as nice. + + Improve ~doom-buffer-mode~ heuristics with ~doom-real-buffer-p~, so that + only truly real buffers are enlightened. + + Replace plugin [[https://github.com/Malabarba/beacon][beacon]] with [[https://github.com/rolandwalker/nav-flash][nav-flash]] -- the former had a habit of causing + pauses and pushing my cursor. It also didn't look as nice. + =ui/doom-modeline= + Complete rewrite of the module for code readability and performance. + =ui/doom-dashboard= - + Fix a ~max-specpdl-size~ error caused on MacOS, having to do with a ~kill-buffer-query-function~ hook being attached way too soon in the startup process. + + Fix a ~max-specpdl-size~ error caused on MacOS, having to do with a + ~kill-buffer-query-function~ hook being attached way too soon in the + startup process. + =lang= + =lang/cc= + Fix empty ~buffer-file-name~ in ~magic-mode-alist~ rule for obj-c. @@ -524,10 +709,13 @@ + Add code navigation support with [[https://github.com/dominikh/go-mode.el/blob/master/go-guru.el][go-guru]] (built-in to go-mode). + Add REPL support with [[https://github.com/manute/gorepl-mode][gore and gorepl-mode]]. + =lang/haskell= - + New plugin: [[https://github.com/jyp/dante][dante]] -- offers xref and flycheck integration, as well as code-navigation tools, like finding definitions, references, type info, etc. + + New plugin: [[https://github.com/jyp/dante][dante]] -- offers xref and flycheck integration, as well as + code-navigation tools, like finding definitions, references, type info, + etc. + Fix errors on haskell-mode (caused by missing dependencies). + =lang/javascript= - + New plugin: [[https://github.com/skeeto/skewer-mode][skewer-mode]] -- provides live JS/CSS/HTML evaluation in a browser. + + New plugin: [[https://github.com/skeeto/skewer-mode][skewer-mode]] -- provides live JS/CSS/HTML evaluation in a + browser. + New plugin: [[https://github.com/yasuyk/web-beautify][web-beautify]] -- js reformatting. + New plugin: [[https://github.com/NicolasPetton/xref-js2][xref-js2]] -- xref integration for javascript. + New plugin: [[https://github.com/felipeochoa/rjsx-mode][rjsx-mode]] -- adds jsx support. @@ -538,26 +726,37 @@ + Force [[https://github.com/ternjs/tern][tern]] use projectile for project path detection and resolution. + Add gulpfile.js detection (~+javascript-gulp-mode~). + =lang/latex= - + Improve integration between auctex, evil and ~reftex-toc-mode~: j/k motion keys have been bound in reftex-toc-mode, the modeline is hidden, and ~reftex-toc-rescan~ is run automatically. + + Improve integration between auctex, evil and ~reftex-toc-mode~: j/k motion + keys have been bound in reftex-toc-mode, the modeline is hidden, and + ~reftex-toc-rescan~ is run automatically. + =lang/org= - + Add =+notes= submodule, which makes it easy to access org-mode based notes for the current major-mode or the current project. See ~+org/browse-notes-for-major-mode~ and ~+org/browse-notes-for-project~. - + Ensure newer org-mode 9.0+ (downloaded from ELPA) is loaded instead of the older, built-in version of org-mode (8.3). - + Update ~+org/dwim-at-point~, ~+org/insert-item~ & ~+org/toggle-checkbox~ for org-mode 9.0 + + Add =+notes= submodule, which makes it easy to access org-mode based notes + for the current major-mode or the current project. See + ~+org/browse-notes-for-major-mode~ and ~+org/browse-notes-for-project~. + + Ensure newer org-mode 9.0+ (downloaded from ELPA) is loaded instead of the + older, built-in version of org-mode (8.3). + + Update ~+org/dwim-at-point~, ~+org/insert-item~ & ~+org/toggle-checkbox~ + for org-mode 9.0 + Fix shackle popup integration with org-export dispatch window. + =lang/ruby= + Add ={Pod,Puppet,Berks}file= detection for ~ruby-mode~. + =lang/web= + New plugin: [[https://github.com/yasuyk/web-beautify][web-beautify]] -- html/css reformatting - + Remove ~+web-bower-mode~. I don't use it anymore; I prefer npm as my sole package manager. - + Improve ~+web-angularjs-mode~ detection by searching for angular 1 and 2 dependencies in package.json. - + Add ~+web-react-mode~ and detect it by searching for reactjs dependencies in package.json. + + Remove ~+web-bower-mode~. I don't use it anymore; I prefer npm as my sole + package manager. + + Improve ~+web-angularjs-mode~ detection by searching for angular 1 and 2 + dependencies in package.json. + + Add ~+web-react-mode~ and detect it by searching for reactjs dependencies + in package.json. + =app= + =app/rss= + Hide modeline in ~elfeed-search-mode~ buffer. + =app/present= - + New plugin: [[https://github.com/yjwen/org-reveal/][ox-reveal]] -- export a presentation to html, js & css from org-mode using [[http://lab.hakim.se/reveal-js/][reveal.js]]. + + New plugin: [[https://github.com/yjwen/org-reveal/][ox-reveal]] -- export a presentation to html, js & css from + org-mode using [[http://lab.hakim.se/reveal-js/][reveal.js]]. + New plugin: [[https://github.com/takaxp/org-tree-slide][org-tree-slides]] -- use ~org-mode~ directly for presentations. - + Add ~+present/big-mode~; which will toggle large fonts, controlled by ~+present-big-font~. + + Add ~+present/big-mode~; which will toggle large fonts, controlled by + ~+present-big-font~. + New plugin: [[https://github.com/skeeto/impatient-mode][impatient-mode]] -- show off current buffer(s) over HTTP. + =app/email= + Add support for writing emails in org-mode, which renders to HTML on send. @@ -568,22 +767,31 @@ * 2.0.0 (Jan 17, 2017) + *New modules* - + =tools/upload= -- map local files to remotes, allowing you to upload/download files between them. - + =feature/jump= -- offers a system for navigating codebases that "just works", powered by xref (new experimental Emacs reference API) & [[https://github.com/jacktasia/dumb-jump][dumb-jump]]. - + =feature/workspaces= -- offers grouped buffers/windows and persistent sessions. Recently replaced [[https://github.com/pashinin/workgroups2][workgroups2]] with the much-faster [[https://github.com/Bad-ptr/persp-mode.el][persp-mode]]. + + =tools/upload= -- map local files to remotes, allowing you to + upload/download files between them. + + =feature/jump= -- offers a system for navigating codebases that "just + works", powered by xref (new experimental Emacs reference API) & [[https://github.com/jacktasia/dumb-jump][dumb-jump]]. + + =feature/workspaces= -- offers grouped buffers/windows and persistent + sessions. Recently replaced [[https://github.com/pashinin/workgroups2][workgroups2]] with the much-faster [[https://github.com/Bad-ptr/persp-mode.el][persp-mode]]. + =core= + Add .travis.yml and unit-tests. + Remove mplist library -- it was unused and poorly written. + =core-popups= - + Replaced popwin with shackle; which is significantly lighter and more stable. + + Replaced popwin with shackle; which is significantly lighter and more + stable. + =feature/spellcheck= - + Add selection popup for correcting spelling mistakes highlighted by flyspell. + + Add selection popup for correcting spelling mistakes highlighted by + flyspell. + =completion/ivy= + Add ~+ivy:todo~ for jumping to TODO/FIXME tags in your project. + =lang/org= - + Make TAB do-what-I-mean (~+org/dwim-at-point~), which will either: follow a link, realign/recalculate tables, toggle checkboxes, toggle TODO/DONE tags, cycle archived subtrees, toggle latex preview fragments, execute babel blocks, or refresh inline images -- depending on where the cursor is. + + Make TAB do-what-I-mean (~+org/dwim-at-point~), which will either: follow a + link, realign/recalculate tables, toggle checkboxes, toggle TODO/DONE tags, + cycle archived subtrees, toggle latex preview fragments, execute babel + blocks, or refresh inline images -- depending on where the cursor is. + =lang/web= - + Add ~+css/toggle-inline-or-block~ command; it will expand/contract curly-braced blocks. + + Add ~+css/toggle-inline-or-block~ command; it will expand/contract + curly-braced blocks. + =private/hlissner= + Add ~:todo~ ex command (~+ivy:todo~)