Commit Graph

47 Commits

Author SHA1 Message Date
17981d6a61 Conform hook names to conventions
Also minor reformatting & comment corrections.
2018-06-17 02:25:12 +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
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
dfa955dd2c Better looking default indentation for nested latex lists 2018-06-08 16:10:00 +02:00
363407d9e6 Fix C-g resetting latex windows after opening the reftex-toc 2018-06-07 13:53:13 +02:00
7b1a83079d Fix C-j being treated as a prefix in lang/latex 2018-06-05 10:45:26 +02:00
1e81a35461 Minimize dependence on map!
This is in preparation for general.el integration coming in 2.1.1. It is
very likely that map! will change (and even more, be split into several
macros). Not much, but change none-the-less. Specifically, the state
keywords (e.g. :nvi, :n, :i) will be removed in favor of a :state
property that takes a list, e.g. (normal visual insert).

In any case, both map! and general are also relatively expensive
compared to define-key and evil-define-key* (and the new define-key!
macro), so use that when we can.

This also means changes to either API won't affect Doom's modules in the
long term.
2018-06-03 15:46:00 +02:00
e5a4415d58 General, minor reformatting/refactor 2018-06-02 13:58:04 +02:00
4f4495ca2a Move ispell-dictionary default to feature/spellcheck #630
Makes more sense to be here.
2018-06-01 02:25:38 +02:00
4b0e3af424 Set default ispell-dictionary sooner #630
This makes it easier to change and won't override user's customizations.
2018-06-01 02:23:24 +02:00
acaba8ef3b lang/latex: fix void-variable TeX-view-program-list error 2018-05-30 00:37:38 +02:00
fbce2388ab lang/latex: general refactor & load optimization 2018-05-29 14:13:31 +02:00
1a452b6842 💥 Change first arg of load! macro
load!'s first argument is no longer a symbol (that will cause
void-variable errors now) to save on unnecessary interning and simplify
compile-time logic. It accepts any valid form that evaluates to a string
now.

If you use load!, you need to change its argument to a string!

e.g. (load! +my-module) => (load! "+my-module")
2018-05-27 12:52:28 +02:00
0bdf638813 lang/latex: refactor package loading mechanism 2018-05-25 02:18:29 +02:00
09cb4f6716 Major refactor & optimization of how modules load their packages
Now that we are loading package autoloads files (as part of the
generated doom-package-autoload-file when running make autoloads), many
:commands properties are redundant. In fact, many def-package! blocks
are redundant.

In some cases, we can do without a config.el file entirely, and can move
into the autoloads file or rely entirely on package autoloads.

Also, many settings have been moved in their module's autoloads files,
which makes them available ASAP; their use no longer depends on module
load order.

This gained me a modest ~10% boost in startup speed.
2018-05-25 00:46:16 +02:00
505ceb3530 lang/latex: major refactor & reformatting 2018-05-09 12:38:20 +02:00
b89431eef8 Towards fixing byte compilation. 2018-05-09 12:11:41 +02:00
aec77d5f1e Enable rainbow mode in LaTeX buffers. 2018-04-25 11:03:56 +02:00
dc33c72d19 Refactor removal of default smartparens rules for certain modes 2018-04-18 18:29:48 -04:00
0a23c30e06 Make PDF tools and LaTeX work better together.
Update the README file to reflect the available flags.
2018-04-11 13:02:58 +02:00
d7672dad46 lang/latex: minor refactor & conform to doom conventions 2018-03-07 21:21:17 -05:00
636c895f23 lang/latex: improve responsiveness by removing sp rules #452 2018-03-07 03:04:10 -05:00
0cfe8e305e Bring back aggressive loading of autoloads files #446
package-initialize, once again, isn't called on every startup, which
means package autoloads won't be loaded in most interactive sessions, so
must do it manually for certain packages.
2018-03-07 03:01:17 -05:00
138ec2bf07 Remove manual loading of pkg-autoloads files
No longer necessary as of 0c80bb42
2018-02-28 17:57:30 -05:00
6c4e048c23 General refactor & cleanup 2018-02-14 07:47:22 -05:00
0a655e4f52 Add: +skim as pdf viewer 2018-02-05 10:32:18 +08:00
56a3c81778 Correct def-setting and use string-empty-p.
Change default ivy-bibtex behavior to insert bibliography.
2018-01-09 14:19:02 +01:00
e91cb11243 Latex module revamped
Latex language module with previews, latexmk, reftex, bibtex and others.
Completion with company mode.
Selection of bibliography using Ivy or Helm.
Later preview panel or okular as viewers.
LatexMk for compiling code.
Prettified indentation with adaptive-wrap along with good indentation of environments.
Additional fontification of common commands.
2018-01-08 19:18:37 +01:00
4024437cfb lang/latex: don't forcibly hide modeline 2018-01-07 00:35:59 -05:00
91357a3e5d 💥 Replace core-popup with new feature/popup module
This is a breaking change! Update your :popup settings. Old ones will
throw errors!

Doom's new popup management system casts off its shackles (hur hur) and
replaces them with the monster that is `display-buffer-alist`, and
window parameters.

However, this is highly experimental! Expect edge cases.  Particularly
with org-mode and magit (or anything that does its own window
management).

Relevant to #261, #263, #325
2018-01-06 02:17:43 -05:00
7556762d98 lang/latex: refactor (WIP) 2018-01-04 16:16:45 -05:00
feff92c626 Fix company-auctex not initializing properly in Auctex buffers #326
Caused because AucTex's LaTeX-mode reports its major-mode as
'latex-mode. A check in :company-backends expects major modes to have
matching hooks (e.g. LaTeX-mode-hook => LaTeX-mode).
2018-01-04 16:16:45 -05:00
9d81bc5a8b Major refactor: use-package-always-defer = nil & use :hook
Possibly breaking change: packages are no longer deferred by default.

Addresses #286
2017-12-08 23:14:11 -05:00
5057db93f1 Replace :L state with :local flag in map!
Fixes #162
2017-07-27 19:09:33 +02:00
392c58ea47 General refactor & cleanup 2017-06-19 00:32:45 +02:00
2097498f3e General docstring+idempotency refactor 2017-06-11 00:59:02 +02:00
c7254e7bdc Major optimization refactor, across the board
+ enable lexical-scope everywhere (lexical-binding = t): ~5-10% faster
  startup; ~5-20% general boost
+ reduce consing, function calls & garbage collection by preferring
  cl-loop & dolist over lambda closures (for mapc[ar], add-hook, and
  various cl-lib filter/map/reduce functions) -- where possible
+ prefer functions with dedicated opcodes, like assq (see byte-defop's
  in bytecomp.el for more)
+ prefer pcase & cond (faster) over cl-case
+ general refactor for code readability
+ ensure naming & style conventions are adhered to
+ appease byte-compiler by marking unused variables with underscore
+ defer minor mode activation to after-init, emacs-startup or
  window-setup hooks; a customization opportunity for users + ensures
  custom functionality won't interfere with startup.
2017-06-09 00:47:45 +02:00
5ae94b765c PRAISE BE TO THE BYTE COMPILER FOR THY SHARP QUOTES 2017-04-17 02:17:10 -04:00
3e63d2d23b Reduce def-package magic; explicitly use :when property 2017-03-19 22:47:50 -04:00
6230250f46 lang/latex: auto roc-rescan & fix Auctex config 2017-03-09 00:27:50 -05:00
a19a0da176 lang/latex: shhh 2017-03-08 21:36:57 -05:00
3c6e1c52af lang/latex: improve auctex+reftex config 2017-03-08 21:30:16 -05:00
45122cdea5 Fix keybindings + make them more consistent 2017-02-28 12:11:18 -05:00
33c88d4f82 Revert macros to ...! name convention (elisp doesn't like @...) 2017-02-23 00:06:12 -05:00
e14e25ecb4 Update modules/lang/* 2017-02-20 00:26:08 -05:00
f453b3cee1 Reorganize modules 2017-02-20 00:23:03 -05:00