Commit Graph

1119 Commits

Author SHA1 Message Date
9d724db4e7 chore(release): 0.6.8 v0.6.8 2020-07-02 09:57:47 +01:00
33cb5d8a7f chore(packages): Update straight.el's lock file 2020-07-02 09:42:24 +01:00
fc4520c277 chore(packages): Update straight.el's lock file 2020-06-27 14:21:38 +01:00
bbc98decea fix(editor): Make undo-tree a bit more terminal friendly 2020-06-27 14:20:50 +01:00
9b5c22f9e2 feat(lang): Enable terminal-friendly quote toggle for ruby-mode 2020-06-27 14:20:23 +01:00
2fa061bdec feat(windows): Enable terminal friendly zoom-window keybinding 2020-06-27 14:19:31 +01:00
acb2d6f5fa fix(navigation): Dired disk usage command was unreliable on Linux 2020-06-07 16:19:49 +01:00
ad5a32b92e chore(release): 0.6.7 v0.6.7 2020-06-07 16:04:18 +01:00
a5eb783108 chore(packages): Update straight.el's lock file 2020-06-07 16:04:05 +01:00
ecc278b83b feat(navigation): Add file/directory size commands to Dired
There's two different variants, both callable via M-? in dired
buffers. Without a prefix arg it will use `siren-dired-get-disk-usage`
which uses the external `du` command to get disk usage, or "space on
disk" for item at point or marked files and/or directories.

If called with a prefix (C-u M-?) it will instead use
`siren-dired-get-size` which is implemented in pure elisp, and
recursively gets the actual file sizes for item at point or marked files
and/or directories.

As the prefix variant is written in pure elisp, it is quite a bit slower
for very large directories with thousands of files.
2020-06-07 15:56:07 +01:00
e586192a92 chore(lang): Add missing require to siren-terraform module 2020-06-07 15:55:46 +01:00
84bdd610ca feat(lang): Add jinja2-mode for Jinja2 templates 2020-06-07 15:55:00 +01:00
1ef8570f05 fix(lang): Work around for whitespace-mode issue with caddyfile-mode 2020-06-07 15:54:26 +01:00
a74610689e feat(lang): Language aware syntax highlight of markdown code-blocks
Enable polymode within code-blocks in Markdown files. Effectively, it
allows code-blocks of various languages to be handled by their
respective major modes, allowing correct syntax highlighting, snippets,
and other features to work as you would expect.
2020-06-07 15:50:49 +01:00
7b72c21fc6 chore(workspaces): Improve persp-mode switch to index macro/defuns 2020-06-05 20:23:47 +01:00
6203fac56b chore(release): 0.6.6 v0.6.6 2020-06-05 17:57:17 +01:00
e6b52a534a feat(lang): Add caddyfile-mode for Caddy config files 2020-06-05 12:44:03 +01:00
984b9fb3aa feat(workspaces): Improve persp-mode "UI" helpers
- Improve the switch to previous / recent list of persps.
- Add a indexes when showing list of current persps.
- Add `C-z <num>` keybindings to switch to persp by index.
2020-06-02 11:55:07 +01:00
fd18c3b70e chore(packages): Update straight.el's lock file 2020-06-02 10:51:59 +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
bee04d384c docs(comment): Explain why we use reformatter for terraform-mode
Terraform-mode already comes with it's own
terraform-format-on-save-mode, but the way it inserts the corrected
source into the buffer often causes weird cursor movement which is
annoying.
2020-06-01 09:06:55 +01:00
c21acf895a chore(release): 0.6.5 v0.6.5 2020-05-30 17:25:35 +01:00
f566544e2e Merge pull request #9 from jimeh/integrate-windmove-with-tmux
feat(windows): Integrate windmove with tmux
2020-05-30 17:24:59 +01:00
0810857131 feat(windows): Integrate windmove with tmux
When Emacs is launched within Tmux, and a windmove command fails (due to
it reaching the left/right/top/bottom edge of frame, instead trigger a
Tmux pane switch in that direction.

This allows a nearly seamless window/pane switching experience between
Emacs and Tmux.

It does require the following configuration in Tmux to work properly:

    # Enable smart pane switching that's Emacs aware.
    is_emacs='echo "#{pane_current_command}" | grep -iqE "(^|\/)emacs$"'

    # Use Alt-[i/k/j/l] keys without prefix key to switch panes if current pane is
    # not running Emacs. If the pane is running Emacs, let Emacs receive the
    # keybindings instead.
    bind -n M-i if-shell "$is_emacs" "send-keys M-i" "select-pane -U"
    bind -n M-k if-shell "$is_emacs" "send-keys M-k" "select-pane -D"
    bind -n M-j if-shell "$is_emacs" "send-keys M-j" "select-pane -L"
    bind -n M-l if-shell "$is_emacs" "send-keys M-l" "select-pane -R"
    bind -T copy-mode M-i if-shell "$is_emacs" "send-keys M-i" "select-pane -U"
    bind -T copy-mode M-k if-shell "$is_emacs" "send-keys M-k" "select-pane -D"
    bind -T copy-mode M-j if-shell "$is_emacs" "send-keys M-j" "select-pane -L"
    bind -T copy-mode M-l if-shell "$is_emacs" "send-keys M-l" "select-pane -R"
    bind -T copy-mode-vi M-i if-shell "$is_emacs" "send-keys M-i" "select-pane -U"
    bind -T copy-mode-vi M-k if-shell "$is_emacs" "send-keys M-k" "select-pane -D"
    bind -T copy-mode-vi M-j if-shell "$is_emacs" "send-keys M-j" "select-pane -L"
    bind -T copy-mode-vi M-l if-shell "$is_emacs" "send-keys M-l" "select-pane -R"
2020-05-30 17:01:21 +01:00
e6ff06ea2c feat(lang): Add terraform-doc package 2020-05-30 16:50:41 +01:00
bf4c49dd1f fix(lang): terraform-mode now formats buffers on save correctly 2020-05-30 16:49:57 +01:00
41d80de4fb chore(lang): Various minor improvements for ruby-mode 2020-05-30 16:48:36 +01:00
88ceeaa7c7 fix(themes): Handle highlight-indent-guides when switching themes 2020-05-30 16:46:36 +01:00
a3a8c575dc chore(lang): Disable solargraph's multi-root feature
This means that each project gets a separate solargraph server, rather
than one server handles all projects. This does mean more memory is
consumed, but it overall it makes lsp-mode perform much faster, and be
more stable.
2020-05-26 23:49:46 +01:00
55751c49aa chore(release): 0.6.4 v0.6.4 2020-05-24 00:24:28 +01:00
aee6af6128 fix(lang): Switch back to formatting Ruby with rubocop-daemon
Using `lsp-format-buffer` is a little bit unreliable, and for some
reason it also skips some cops.
2020-05-24 00:23:18 +01:00
0f13518f91 feat(lang): Add support for Haskell via haskell-mode 2020-05-24 00:22:54 +01:00
3c8fe70d8e feat(persp-mode): Enable switching to most recent persp
Keep a list of most recently visited persps whenever you switch, and
enable switching back and forth between the current and most recently
visited persp.

Also when killing current persp, switch to the most recently visited
persp, instead of back to the default/nil persp.

Minor bug remaining is that the when killing current persp, the echo
area shows all persps like usual when switching, but it includes the
persp that was just killed, despite it already being killed.
2020-05-24 00:18:30 +01:00
c220e65a99 feat(lang): Format shell scripts with shfmt on save 2020-05-24 00:16:53 +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
be39020c64 feat(text-editing): Add reformatter package
And override `reformatter-replace-buffer-contents-from-file` with a less
intrusive variant based on how go-mode's `gofmt` command updates buffer
with formatted content.
2020-05-24 00:13:17 +01:00
184e6ffa18 chore(release): 0.6.3 v0.6.3 2020-05-19 21:49:37 +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
a71fc70e66 feat(lang): Format ruby files with lsp-format-buffer 2020-05-19 21:45:31 +01:00
764c4dae74 feat(lsp): Improve lsp-mode setup with a prefix key and company tweaks 2020-05-19 21:44:26 +01:00
4276104ca6 chore(projects): Add missing require for siren-projectile 2020-05-19 21:43:26 +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
ce174c73e3 chore(navigation): Switch back to mainline helm-ag package
All the PR's I cared about for helm-ag are now merged, so I no longer
need to custom fork.
2020-05-19 11:08:55 +01:00
38c3c2c463 chore(packages): Update straight.el's lock file 2020-05-12 17:20:36 +01:00
ac0bf9b42e feat(lang): Enable use of markdown-edit-code-block
This allows editing code blocks within markdown files in a separate
buffer with the proper language major-mode applied.

Also integrate it with recursive-narrow, so it can be triggered with via
narrowing commands.
2020-05-12 17:18:09 +01:00
91df806ec8 chore(projects): Tweak treemacs config
- Remove old defunct settings which no longer do anything.
- Set treemacs to not be reachable via other-window, meaning you need to
  use keybindings to focus on it, like `C-x p`.
2020-05-10 22:52:56 +01:00
8868e975e2 fix(navigation): Ensure imenu config was is set correctly 2020-05-10 22:50:30 +01:00
edd5b3905c chore(release): 0.6.2 v0.6.2 2020-05-10 21:42:14 +01:00
a6a84524bd fix(lsp): Add helm-lsp-workspace-symbol keybinding for terminal use
Make `C-c '` run `helm-lsp-workspace-symbol` just like `C-c C-'` already
did. This is required as `C-'` cannot be used within terminals.
2020-05-10 21:26:29 +01:00
620b78368c chore(documentation): Move siren-helpful module to documentation dir 2020-05-10 21:26:29 +01:00