Commit Graph

4237 Commits

Author SHA1 Message Date
53fe7a1f04 Refactor Project API to reflect changes upstream
projectile-project-root no longer returns `default-directory` if not in
a project (it returns nil). As such, doom-project-* functions (and their
uses) have been refactored.

+ doom-project-p & doom-project-root are aliases for
  projectile-project-p & projectile-project-root.
+ doom-project-{p,root,name,expand} now has a DIR argument (for
  consistency, since projectile-project-name and
  projectile-project-expand do not).
+ The nocache parameter is no longer necessary, as projectile's caching
  behavior is now more sane.
+ Removed some projectile advice/hacks that are no longer necessary.
+ Updated unit tests
2018-09-28 21:13:27 -04:00
3961ba1662 Fix command-log-mode not disabling on toggle
clm/toggle-command-log-buffer enables global-command-log-mode, but
doesn't disable it on second invocation, so we use
global-command-log-mode instead.
2018-09-28 21:13:27 -04:00
b43888901f lang/cc: add rotate patterns for c++-mode
These can be used by pressing ! in normal mode, over rotatable regions
of text.
2018-09-28 21:13:27 -04:00
523c2a114b lang/web (tests): Remove empty before-each block 2018-09-28 21:13:27 -04:00
15991b5639 Refactor quiet! to be less destructive
It's possible for the debugger to be invoked from inside code wrapped in
a (quiet! ...) call. The debugger pauses Emacs in a broken state where
the functions locally rebound by quiet! (e.g. message, load-file,
write-region, etc) are never returned to their original definitions.

This attempts to reduce that probabilityby changing how quiet! silences
code. Rather than silencing them completely, they will be logged
to *Messages* but not displayed in the echo area.

Also, quiet! is now used less, where it isn't strictly needed (or where
inhibit-message is sufficient).
2018-09-28 21:13:27 -04:00
4ea4754162 Add commands for using bin/doom from inside Emacs
This is experimental. I'd eventually like users to be able to management
Doom from inside Emacs, if they desire. This may be the only way to have
a decent user experience on Windows, for that matter.

Also adds a popup rule for it.
2018-09-28 21:13:27 -04:00
078e3028a6 Minor, general comment revision 2018-09-28 21:02:59 -04:00
29ad900c1f lang/css: refactor +css/toggle-inline-or-block
Replaces instances of replace-regexp (interactive-only functions),
removing the need for with-no-warnings and quiet!.

Improves regexp responsible for compacting whitespace in between
properties, which reduces compaction of whitespace in string arguments.
2018-09-27 22:44:07 -04:00
d5f8ecdfce ui/treemacs: fix leader key in treemacs
This is an ugly hack and I should be ashamed.

Shame.

Shame.

Shame.

But alas, it shall do until general.el is in.

Fixes #860
2018-09-27 18:16:21 -04:00
01dde97776 lang/org: tweak org-todo-keywords{,-faces} 2018-09-26 20:44:54 -04:00
c7032cf8b0 lang/web: fully remove nil autopair group
This removes the nil autopair group, rather than just setting it to nil.
No functional different, it's [slightly] more performant.
2018-09-26 20:38:47 -04:00
431ea613b0 lang/python: set PIPENV_MAX_DEPTH in eval handler
Instead of changing the cwd, which chould have other reprecussions for
the code about to be executed.
2018-09-26 20:38:02 -04:00
da55ee2af2 lang/python: fix pipenv support for +python/repl 2018-09-26 20:37:35 -04:00
4a9a2c00d9 Remove smex-completion-read reference
Doom no longer uses smex.
2018-09-26 12:29:55 -04:00
68699c3d5b lang/python: make repl/eval handlers respect pipenv 2018-09-26 12:28:32 -04:00
fcd1e913c5 tools/magit: update vc on +magit/quit
Instead of magit-post-refresh-hook, which fires much more frequently.
Updating vc across all buffers is expensive, so let's only do it when we
quit magit.

Warning: this may make quitting magit expensive when you have many
buffers open. Still searching for a better solution.
2018-09-26 12:10:00 -04:00
d9a179d071 feature/evil: refactor neotree-make-executor fix
The autoload is necessary in case neotree was installed in another
session.
2018-09-26 10:46:43 -04:00
eb9fa90adf editor/parinfer: fix void-function evil-define-key errors
Parinfer uses `evil-define-key' without loading evil. This means that if
evil is installed *after* parinfer, parinfer will throw up void-function
errors, because evil-define-key (a macro) wasn't expanded at
compile-time.

So we make extra sure evil is installed before parinfer (or at least,
make sure evil-define-key is autoloaded at install time, in case evil
was installed in another session).
2018-09-26 10:45:05 -04:00
4e0a4e1b51 lang/{ruby,python}: Fix advice arguments errors 2018-09-26 09:57:10 -04:00
239c183b70 tools/pdf: recognize modeline and doom-modeline 2018-09-26 12:55:22 +02:00
2a84836c11 +emacs-lisp-eval: emit backtrace on error
Running +eval/region (gr) and +eval/buffer (gR) will use
+emacs-lisp-eval (in emacs-lisp-mode buffers). This change will force it
to emit a backtrace in case of an error.
2018-09-25 23:26:08 -04:00
8bdb42fe15 lang/ruby: major refactor
+ Robe is now to be started manually.
+ Adds more keybindings for robe (including <localleader> ' for
  robe-start).
+ Use ruby-mode if ruby isn't available (e.g. editing ruby files on
  remote systems), enh-ruby-mode otherwise.
+ Added rake, bundler, rvm, rbenv and minitest packages
+ Added $RBENV_ROOT/shims to exec-path. This should fix rbenv support
  for the ruby version display in the modeline.
2018-09-25 22:45:13 -04:00
b91a8f0d2f lang/python: rewrite modeline version segment
+ Add $PYENV_ROOT/shims was added to exec-path, so pyenv python version
  is picked up on.
+ Fixes out-of-date python version in the modeline of other buffers
  after switching pyenv/pyvenv/conda envs.
+ The pipenv version and regular python display have been merged.
2018-09-25 22:17:41 -04:00
8afbb804d9 lang/ruby: add bundler + keybinds 2018-09-25 16:40:23 -04:00
271e7689ae Don't error when no gpg keys exist 2018-09-25 10:29:57 -04:00
0c70d1bf08 Remove defunct [h keybind (smart-backward) 2018-09-24 08:36:20 -04:00
3dbeb4e3a7 Add doctstrings to +evil/fold-* commands 2018-09-23 21:06:45 -04:00
8c4504380f +evil/fold-toggle: don't hide recursively
Otherwise sub-entries will be folded and remain folded when unfolding
entries.
2018-09-23 21:04:20 -04:00
b53b300657 Don't affect ivy-switch-buffer's transformer
ivy-rich already does this under the hood. This is redundant.
2018-09-23 16:30:43 -04:00
5a079c7fd6 Enable company-mode in comint-modes 2018-09-23 16:30:23 -04:00
c2c7def192 editor/multiple-cursors: better command whitelist
+ Fixes explicit usage of evil-escape from evil-mc cursors (e.g. M-x
  evil-escape or C-g, not the escape sequences jk/fd)
+ Fixes delete-char (DEL key) from cursors
+ Fixes all custom commands when used with a COUNT
2018-09-23 10:26:41 -04:00
74af5bde26 ui/modeline: fix buffer file path segment
To cope with changes upstream in the projectile package.
2018-09-22 13:15:12 -04:00
ac63596be8 Fix doom-project-root returning nil if no project
It should return default-directory. A change upstream broke this.
2018-09-22 13:15:12 -04:00
7acece3e0b Disable projectile mode-line segment
If either module module is active, this is just extra overhead.
2018-09-22 11:47:36 -04:00
f8fb321f2c Remove outline support from +evil/fold-close-all
It is buggy in modes with a poorly written outline-level function (like
elisp).
2018-09-22 10:34:31 -04:00
736bdeb205 lang/org: fix variable font-size for agenda paths
When you hover your cursor over agenda items, the path to that headline
is displayed in the minibuffer. If org-level-N have unusual :height
values, they'll cause the minibuffer to grow.

This removes any variable font sizes from this display.
2018-09-22 01:37:47 -04:00
9726a982d1 lang/org: revise org-modules & revise load order
Improves the startup performance of org-mode by disabling modules I
don't think are commonly used (it's easy to add back however).
2018-09-21 22:42:26 -04:00
ed1775b42d lang/org: refactor +babel/ipython library
+ Conform ipython advice and helpers to naming conventions.
+ Refactor out dash.el usage
2018-09-21 22:38:21 -04:00
fad1fc8f1b Resolve GPG keys by user name instead of address #877
epa-file-encrypt-to is now set to the ids of all keys that match
user-full-name, if it is set. This should fix issues with multiple keys
with the same email addresses.
2018-09-21 14:06:15 -04:00
ccaa642d98 lang/python: fix pipenv creating Pipfiles in pwd #888
`pipenv run ...` searches for a Pipfile itself, but doesn't search far
enough, creating a Pipfile in the current directory. Instead, we run the
command from the pipenv project root so it doesn't have to search.
2018-09-21 13:33:19 -04:00
77b5571ed9 ui/modeline: fix *invalid* in global-mode-string 2018-09-21 13:33:18 -04:00
3fab4fbaba Merge pull request #821 from patrl/agda
:lang agda (done)
2018-09-21 11:09:31 -04:00
20cf412c96 tools/pdf: revert fd7f498
Causes an issue where cursor invisibility persists through a workspace
session restore.

Relevant to #892
2018-09-21 10:47:26 -04:00
c23fe02869 Remove syntax highlighting 2018-09-21 14:52:42 +02:00
55c54a9848 Add ]o [o keybinds -> next/prev outline heading 2018-09-21 00:55:30 -04:00
92cf264b1b lang/cc: don't complain if irony isn't installed 2018-09-20 23:13:17 -04:00
02a5109c4f Comment on disabling fci-mode in org-mode 2018-09-20 22:28:39 -04:00
1b3511890e feature/evil: fix overzealous folding from :n TAB
Changes +evil/matchit-or-toggle-fold to be less trigger-happy about
toggling folds (it will only open folds not, not toggle them).

Also updates its docstring.
2018-09-20 22:27:15 -04:00
feabbc31da feature/evil: add +evil/fold-{next,previous}
Brings zj/zk to evil
2018-09-20 22:27:01 -04:00
5410f1d575 feature/evil: add arbitrary code folding keybinds 2018-09-20 22:27:01 -04:00