Commit Graph

883 Commits

Author SHA1 Message Date
0ee42c1df0 Improve smartparens+web-mode compatibility
+ Enables web-mode's autopairing functionality
+ Prevents duplicate >'s after web-mode autopairing.
+ Leave longer-than-3-character pairs to smartparens (there was only
  <!-- -->)
+ Remove <?p -> <?php | ?> autopairer. Leave that to snippets (web-mode
  doesn't support prefixes longer than 3 letters, and <?php ?> is too
  much of a performance drain to have smartparens support it, so I added
  a "php" snippet that expands to <?php | ?>).
+ Tags now auto-close when you finish typing the opening
  tag. (web-mode-auto-close-style = 2)
2018-06-24 16:31:13 +02:00
c78c6495f1 Apply /* and /** pairs to more modes
Including js, ts, rjsx, rust, all C modes, php, and all css modes (scss,
less, and stylus).

Requested by @ar1a
2018-06-24 16:31:13 +02:00
c69b4ab5ee Use C-n/C-p in macrostep instead of n/p
n/p overrides evil's jump-to-next/previous-search.
2018-06-24 10:35:36 +02:00
4c4a35ae86 Minor reformatting
It's no big deal. Really.
2018-06-23 22:22:42 +02:00
81428f5bcf Fix dante-mode hook #718 2018-06-23 20:02:56 +02:00
f6dc6ac74e Refactor out map.el usage
After some profiling, it turns out map-put and map-delete are 5-7x
slower (more on Emacs 25) than delq, setf/alist-get and add-to-list for
small lists (under 250 items), which is exactly how I've been using
them.

The only caveat is alist-get's signature is different on Emacs 25, thus
a polyfill is necessary in core-lib.
2018-06-23 19:53:54 +02:00
f602a1f607 Merge pull request #714 from patrl/pandoc
Added basic +pandoc feature to markdown module
2018-06-23 19:44:54 +02:00
128af3f1e1 Merge pull request #718 from patrl/improve-dante
Refactored +dante feature
2018-06-23 19:40:37 +02:00
7b0d57a745 Cut: lang/clojure: unneeded + subjective parts
str => clojure.string is already defined in `cljr-magic-require-namespaces'
re-frame + reagent is subjective (for personal configuration)

fighweel aspect is now handled upstream by giving a prompt
see: `cider-cljs-repl-types'
2018-06-23 18:44:50 +02:00
2589619793 simplified hook 2018-06-23 17:51:22 +02:00
7627b04f18 Refactored dante feature. 2018-06-23 15:59:03 +02:00
5f5732b95b added rudimentary support for markdown compilation via pandoc 2018-06-22 14:02:35 +02:00
c99a02fa53 added check for pandoc executable when +pandoc feature is enabled 2018-06-22 14:02:35 +02:00
99902b29f9 Merge pull request #711 from patrl/develop
Added Zathura as a viewer option
2018-06-22 01:51:15 +02:00
fe44d71965 Add repl+lookup handlers and popup rule for sly 2018-06-22 01:49:21 +02:00
13cb219e49 lang/common-lisp: improve evil+sly integration 2018-06-22 01:49:21 +02:00
e05d7cfee0 Change flycheck initialization strategy
Initialize it globally and turn it off where needed, instead of enabling
it on demand. Also fixes void-function: flycheck-mode errors when
:feature syntax-checker is disabled. This is experimental.

Indirectly fixes #710
2018-06-22 01:49:20 +02:00
445ca59b67 Correct make-buffer-local => make-local-variable
Reported by @UndeadKernel
2018-06-22 01:49:19 +02:00
b096214f28 fixed typo 2018-06-21 17:15:20 +02:00
64f77fe017 Added Zathura as a viewer option, via the feature +zathura (n.b. Zathura with synctex is already supported in AUCTeX) 2018-06-21 12:51:17 +02:00
c0fc9d3db0 Look for the correct feature name for org+rest 2018-06-20 17:04:22 -07:00
6fbd3407e0 Fix block/jsdoc comment continuation in typescript
Also improves writing block comments in js2-mode and rjsx-mode.

Reported by @ar1a
2018-06-20 14:25:05 +02:00
638ff6b0a2 Fix wrong-type-argument: sequencep from org-agenda
Caused by +org|exclude-agenda-buffers-from-workspace assuming
org-agenda-new-buffers would always be non-nil... then it wasn't.

Reported by @ar1a
2018-06-20 13:31:46 +02:00
4ef2ff8797 lang/javascript: fix set-pretty-symbols! 2018-06-20 18:29:04 +10:00
7a98919597 Fix quoting in babel popup rules
Reported by @fuxialexander
2018-06-19 20:50:16 +02:00
746d90c330 make-variable-buffer-local -> make-local-variable
It is more correct to use the latter.
2018-06-19 13:49:18 +02:00
6808c46b58 💥 Change set-popup-rule! usage
Now accepts a flat plist of all its former parameters, including new
:parameters and :actions properties to increase your control over the
fate of your windows.

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

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

Sorry! This is the last "big" change before 2.1!
2018-06-18 02:34:16 +02:00
e973acad6f Defer projectile config in org
Now that projectile is lazy loaded.
2018-06-17 14:52:07 +02:00
1866bb75f0 Gate rtags packages behind +rtags module flag #693 2018-06-17 14:45:07 +02:00
97f7406469 Use :modes instead of :in. 2018-06-17 14:22:29 +02:00
17981d6a61 Conform hook names to conventions
Also minor reformatting & comment corrections.
2018-06-17 02:25:12 +02:00
ec8ae0bedc Add :ui pretty-code & set-pretty-symbols! autodef
Along with defaults for C/C++, elm, elisp, js, typescript, web-mode, and
org-mode. Thanks to @ar1a for inspiration.
2018-06-16 19:32:25 +02:00
44363cae40 General, minor refactor & revision
Across the board. All the boards.
2018-06-16 12:26:58 +02:00
435c940af9 Remove unused setting :company-dict-minor-mode 2018-06-16 00:40:37 +02:00
5aeea4dcae Refactor elm+flycheck integration #686
Ensure flycheck is started soon enough and its initializing code is
grouped with flycheck-elm's config.
2018-06-15 22:24:53 +02:00
253fd77b2a Fix intero-goto-definition #683 #684
It wasn't working in the first haskell buffer because of a race
condition. Intero was loading too late to register lookup handlers for
haskell-mode (for the first buffer).

By setting it to intero-mode, it is registered in time for intero-mode's
activation.
2018-06-15 22:16:49 +02:00
4a0b98ef1c lang/latex: fix removal of master file prompt
It makes me sad that this is necessary. Friends don't let friends use
anonymous functions for their package's hooks.
2018-06-15 21:16:37 +02:00
9e85acec2c Append flyspell-mode to LaTeX-mode-hook #654
If run too soon, the user has no opportunity to change
+spellcheck-immediately.
2018-06-15 21:00:38 +02:00
4d017ae19e Replace :yas-minor-mode with set-yas-minor-mode! 2018-06-15 18:03:50 +02:00
ab9b8d97bc Replace :rotate with set-rotate-patterns! autodef
And its references.
2018-06-15 18:03:50 +02:00
c0251aacee Replace :lookup with set-lookup-handlers! autodef
And update all internal references.
2018-06-15 17:27:48 +02:00
bfdc00cf42 Prevent tide-mode error when node isn't installed
This error prevents you from opening js files.
2018-06-15 17:15:25 +02:00
c3d3638832 Fix js defvaralias errors in Emacs 27
In later versions of Emacs, if a var alias is created *after* it has
been assigned a value, an error is thrown. This prevents the user from
opening js files.
2018-06-15 17:12:54 +02:00
588359cc5f Replace :eval/:repl with autodef functions
+ :eval => set-eval-handler!
+ :repl => set-repl-handler!
+ Updates all internal references.
2018-06-15 16:20:20 +02:00
b99ab59578 Replace :docset with set-docset! autodef 2018-06-15 16:20:20 +02:00
9f0ebe42e8 Replace :electric with set-electric-rules!
And general refactor of the emacs/electric-indent module.

Also updates (set! :electric ...) references in various :lang modules
2018-06-15 13:32:07 +02:00
eaca8c58fa Move unit tests from ert to buttercup
Easier to organize and write. Now I can hopefully strive for better
coverage!
2018-06-15 03:42:01 +02:00
98d2f1de3f Add set-env! autodef; make :env obsolete 2018-06-15 03:42:01 +02:00
3b0fad871f Add :lang common-lisp doctor 2018-06-15 03:42:01 +02:00
d8b1e469bc Introduce autodefs to replace some settings
+ :popup -> set-popup-rule!
+ :popups -> set-popup-rules!
+ :company-backend -> set-company-backend!
+ :evil-state -> set-evil-initial-state!

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

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

The old set! function will still work, for a while.
2018-06-15 03:42:01 +02:00