Commit Graph

146 Commits

Author SHA1 Message Date
7ed3e92dbb feat(core): use buffer local hl-line-mode instead of global-hl-line-mode
This allows specific major-modes to disable hl-line-mode, which is
desired some terminal/shell modes like vterm where the hl-line flickers
constantly while typing.
2020-08-16 14:21:00 +01:00
d1f4e13886 feat(lang): add vue-mode for working with .vue files 2020-08-11 13:47:21 +01:00
efd0b421e3 feat(lsp): Improve lsp-mode performance, support latest 7.x version
company-lsp is no longer supported by lsp-mode for providing completions
to company, instead company-capf should be used which it built-in to
company itself.
2020-07-04 18:52:33 +01:00
84bdd610ca feat(lang): Add jinja2-mode for Jinja2 templates 2020-06-07 15:55:00 +01:00
e6b52a534a feat(lang): Add caddyfile-mode for Caddy config files 2020-06-05 12:44:03 +01:00
ca2d51bebd fix(workspaces): Attempt to fix persp-mode forgetting persp layouts
It seems the visual-fill-column-mode that writeroom-mode depends upon
causes persp-mode to sometimes forget the contents/layout of a persp.

Hence I'm completely disabling it for now to see if it resolves my
issues, specially as I hardly ever use writeroom-mode anyway.
2020-06-02 10:50:30 +01:00
0f13518f91 feat(lang): Add support for Haskell via haskell-mode 2020-05-24 00:22:54 +01:00
e4c864319a feat(lang): Add module for terraform-mode package
And enable formatting terraform files with `terraform fmt` through the
use of reformatter.
2020-05-24 00:15:32 +01:00
8814bf1303 feat(performance): Add explain-pause-mode
This might come in handy with debugging what causing slowdowns in emacs.
2020-05-19 21:47:34 +01:00
25441f47d3 feat(lang): Use rubocop-daemon to format ruby files on save
On my 2016 MacBook Pro correction times are around 200ms with the
daemon, compared to around 3-4 seconds without.

There might be some issues if bundler depends heavily on gems included
in the project, but we'll see how that goes.
2020-05-19 11:10:19 +01:00
620b78368c chore(documentation): Move siren-helpful module to documentation dir 2020-05-10 21:26:29 +01:00
cdacf31ca0 feat(editor): Replace browse-kill-ring with helm-show-kill-ring 2020-05-10 21:26:24 +01:00
cb16ffe993 fix(navigation): Lazy-load helm without breaking keybindings
This involved always loading `helm-config` which sets up
`helm-command-prefix` and `helm-command-map` allowing use-package to set
bindings on the map all without loading anything else until needed.
2020-05-10 21:23:37 +01:00
801d6f133a feat(navigation): Improve narrowing with recursive-narrow package
Additionally allow `recursive-narrow-or-widen-dwin` to also trigger
`org-edit-src-code` within org buffers. This technically does not use
narrowing, but it does "focus" on the source code block for editing, so
it at least in spirit embodies the intent of narrowing.

This behavior was inspired by:
https://endlessparentheses.com/emacs-narrow-or-widen-dwim.html
2020-05-07 19:11:05 +01:00
4d447e723a feat(text-editing): Safer case change keybindings (C-x C-u, C-x C-l)
By default when region is not active, both `downcase-region` (C-x C-l)
and `upcase-region` (C-x C-u) will operate on surrounding text in
different ways depending on major-mode. This has caught me off guard a
few times.

So let's replace them with safer `downcase-region-only` and
`upcase-region-only` functions which ONLY perform changes when the
region is active. And obviously changes are only applied to the text
within the region.
2020-05-07 19:06:14 +01:00
b00b96092b refactor(core): Organize siren util funcs and macros a bit better 2020-05-07 19:02:55 +01:00
7eff53ce17 chore(lang): Load nginx-mode 2020-05-04 09:09:56 +01:00
e90ea7d4bf chore(editor): Change GUI font used in Linux to Menlo for Powerline 2020-04-09 13:57:21 +01:00
c7e507f5ba chore(editor): Switch back to highlight-symbol package
The auto-highlight-symbol package has a nicer interactive editing mode,
but it messes with the visual presentation for selected region and other
things. So let's go back to the less fancy but more reliable
highlight-symbol package.

Also let's properly disable both symbol highlighting packages in golang
and dart, where lsp-mode provides a better and more intelligent symbol
highlighting feature.
2020-03-30 21:21:10 +01:00
07521a1e71 feat(exports): Add pandoc exporting to org-mode and markdown-mode 2020-03-19 21:24:37 +00:00
c0993c8c54 feat(xwidgets): Add xwidget-plus package 2020-03-19 21:24:32 +00:00
314923217c chore(editor): Load but do not enable which-key-mode 2020-03-19 21:24:32 +00:00
801b32af1d feat(misc): Add grip-mode to preview Markdown via GitHub's API 2020-03-19 21:24:31 +00:00
efecb5172c chore(startup): Make various modules more lazy-loaded
This should improve startup speed a little bit.
2020-03-15 02:44:46 +00:00
045520a603 feat(editor): Use auto-highlight-symbol instead of highlight-symbol
It turns out that auto-highlight-symbol is a bit more advanced, with a
MUCH nicer edit symbol feature than highlight-symbol does.
2020-03-06 18:35:11 +00:00
79caa36d95 feat(tools): Add helm-make package 2020-03-06 11:51:42 +00:00
ff378e13fa feat(tools): Add docker and kubernetes packages
They allow managing docker and kubernetes resources from within emacs.
2020-03-01 23:45:17 +00:00
c91f3fecc4 chore(editor): Replace smex with amx package
Smex has not been updated since late 2015. Amx was originally a fork of
smex, but as since evolved much further into it's own thing.

Among other things is supports other completing backends, and ivy with
it's fuzzy matching feels rather nice. I'm keeping ido-mode for
everything else, but specifically for M-x I'll give ivy a try.
2020-03-01 22:35:59 +00:00
c7c8b77c28 chore(ui): Make mouse scrolling a bit smoother 2020-03-01 22:05:33 +00:00
4b599de686 chore(macos): No longer trigger fullscreen on startup
Recent Emacs 27 builds use the native macOS fullscreen for the first
10-20 seconds after startup when `ns-use-native-fullscreen` is set to
nil during startup.

So instead of forcing emacs into fullscreen, just force maximize the
window on startup instead.
2020-02-22 23:48:35 +00:00
8d0c523eff chore(core): Improve environment setup
With my shell setup cleaned up so all environment variables are set in
`~/.zshenv`, and all the slower interactive shell setup in `~/.zshrc`,
we can no remove the `-i` flag from exec-path-from-shell's setup,
leading to a much faster setup time.

Also load additional environment variables, and also set
`temporary-file-directory` to match the `TMPDIR` environment variable.
2020-02-22 23:44:49 +00:00
fdfdbc16f4 fix(core): Auto-save folder was not being set correctly
Due to the value being set not ending with a slash, auto-save files were
being stores in `~/.emacs.d/cache` instead of
`~/.emacs.d/cache/autosave`.

The fix was to add a slash at the end, and also to ensure the directory
exists.
2020-02-22 23:42:11 +00:00
d21a11dc71 chore(lang): Add support for mermaid diagrams
The org-babal features of mermaid-mode itself don't seem to work, but
the separate ob-mermaid does work.
2020-02-20 23:26:23 +00:00
27df983568 chore(macos): Enable transparent window titlebar on macOS 2020-02-15 19:15:13 +00:00
e9e65f9d9f perf(startup): Improve startup speed by borrowing from doom-emacs
Shameless borrow various methods of improving Emacs startup time from
doom-emacs:

b0978a4526/docs/faq.org (how-does-doom-start-up-so-quickly)
2020-02-15 19:15:13 +00:00
e703f4ef53 chore(packages): Refactor package setups in within core
And get rid of:

- dash, doesn't need to be, packages which depend on it, should have it
  listed as a dependency
- smart-mode-line, don't need it anymore as I use the doom-modeline
  package to stylize the modeline.
2020-02-15 19:13:28 +00:00
b923979f7a chore(themes): Simplify theme initialization and setup
I've been using doom-themes' doom-vibrant for long enough now that I'm
certain I won't be moving away from it anytime soon. So let's simplify
and strip away all other theme setup stuff.
2020-02-14 23:53:45 +00:00
8dbc5066b3 chore(vendor): Remove vendor directory support
I don't need it anymore, and if I ever do, it's not hard to add back.
2020-02-14 23:19:30 +00:00
16264c3f91 fix(vc): Disable magit-todos package
It seems to cause very long freezes within magit itself, especially when
trying to commit. It seems to that the git diff command that's run in
the background hangs and/or takes a very long time to complete for some
reason.

Manually killing those git processes let's magit wake up instantly
again, in htop they're listed as:

    git --no-pager diff --no-color -U0 <Git SHA of HEAD>
2020-02-08 10:30:22 +00:00
8730b23256 feat(navigation): Add config for centaur-tabs, not loaded on startup
As I don't see myself using tabs all the time, but potentially wanting
access to them every now and then, I need to manually trigger one of the
tab / tab-group switching keybindings, or M-x centaur-tabs-mode to load
and enable it.
2020-02-08 10:27:18 +00:00
c7a0ca0889 chore(org-mode): Init org-mouse with org-mode
Not much point in having a separate siren module for org-mouse, when you
would probably never want org-mode without org-mouse on too.
2020-02-04 10:09:47 +00:00
79fbd5e371 chore(core): Improve macOS setup 2020-02-04 10:08:55 +00:00
663852a210 feat(editor): Add mwim package to replace custom function 2020-02-04 10:08:53 +00:00
af2894c6fc chore(core): Make Emacs play nice when run in a terminal
Ever since I started using persp-mode, launching Emacs in a terminal has
made it restore the same set of open files as in my main GUI instance of
Emacs. This hasn't been a big deal, but still somewhat annoying.

I've finally gotten around to disabling persp-mode's auto save/load
feature when running Emacs in a terminal.

And for good measure, I also set the theme to be doom-vibrant in the
terminal too. My old tomorrow-night-paradise is way out of date, and
nowhere near as good as doom-vibrant.
2020-02-04 10:08:42 +00:00
6888df47c6 fix(editor): Improve reliability of undo history
The undo history feature of undo-tree has been very unreliable lately,
to the point it fails to load undo history for nearly every file.

It seems the undohist package is a lot more reliable.
2020-02-04 10:08:41 +00:00
951a40346e chore(packages): Disable packages I don't use 2020-02-04 10:08:41 +00:00
b13ca362cb feat(packages): Replace package.el with straight.el 2020-02-04 10:08:37 +00:00
b5cb054403 feat(lang): Add support for TOML files via toml-mode package 2020-01-28 21:49:26 +00:00
1469865826 feat(lang): Add config for nxml-mode 2020-01-28 21:48:30 +00:00
b257c7d206 feat(projects): Get treemacs working nicely with helm
And also better configured treemacs in general.
2020-01-27 03:55:12 +00:00