Commit Graph

79 Commits

Author SHA1 Message Date
9a02bd8ac8 Minor refactors across the board
- when-let* -> when-let
- Fix projectile-locate-dominating-file for connected remote files
2019-06-26 14:31:06 +02:00
4ecf6c9414 Add SCHEDULED support to +org/dwim-at-point 2019-06-26 14:31:06 +02:00
518e53deab lang/org: fix snippet expansion on visual region
Fixes two issues:

1. Evil users would be left in visual mode after expanding a snippet on
   a region, making it awkward to insert text. It now switches to insert
   state.
2. While yasnippet reindent the snippet's contents post-expansion, org's
   mode-specific indentation (see `org-src-tab-acts-natively`) can throw
   errors for arbitrary reasons. We don't need smart indentation when
   expanding snippets, so we turn it off only in this case.
2019-06-10 09:38:55 +02:00
653161fe2e lang/org: refactor org config load order
- No longer use org-load-hook; it was unnecessary and there were corner
  cases where org would get loaded before hooks were added to it.
- Update comments
- Remove config that was redundant with org's defaults (wrt org-file-apps)
- Perform persp-mode check before using persp-mode API in
  +org|exclude-agenda-buffers-from-workspace advice.
- Update outdated smartparens config and move it out of
  org-mode-hook (only needs to be run once, not everytime org-mode is
  enabled)
- Autoload mode hooks
2019-04-10 18:47:21 -04:00
6084b774b8 lang/org: refactor and add keybinds for org tables
This update focuses on improving the key UX of org tables.

- Adds new table localleader keys under `SPC m s'
- Adds new localleader keybinds
  - New `s` prefix for table commands
  - New `f`/`F` keybinds for footnotes
  - New `'` keybind for `org-edit-special`
  - New `r` keybind for `org-refile`
- Bind localleader keys for both evil and non-evil users
- Refactors org table API
- For evil users:
  - Adds `zi` to toggle inline images
  - Finalize insert-mode keybind scheme for evil users (ala excel/gdocs)
    - C-{h,j,k,l} = move cursor between cells
    - C-M-{h,j,k,l} = insert cells in direction
    - C-M-S-{h,j,k,l} = swap cells in direction
2019-04-04 18:52:25 -04:00
8a57d9b5fd lang/org: RET on TOC will now refresh the TOC 2019-03-02 02:04:11 -05:00
024f383a08 lang/org: add full link at point display to eldoc 2019-02-24 13:47:53 -05:00
b4b85569b4 lang/org: expand snippet on TAB in visual mode 2019-02-19 19:05:49 -05:00
069c196330 Appease byte-compiler senpai
Please notice me
2019-01-08 20:54:03 -05:00
81cccbcc51 lang/org: only update parent statistics cookies
This would formerly update _all_ statistics cookies in the org document,
which can be terribly slow in large documents. This restricts that to
just the parent headlines of the subtree the cursor is in.
2018-10-30 16:20:25 -04:00
e0f7ba19cd lang/org: use correct todo on RET
Improves on baa6f640. This fixes RET cycling between different keyword
sets.
2018-10-19 15:44:25 -04:00
99b7b7f740 lang/org: add inline base64/http(s) image support
Adds inline image preview support for http/https links, as well as
base64 encode image support with the img protocol. e.g.

Examples:
[[http://domain.com/some/image.png]]
[[https://raw.githubusercontent.com/hlissner/doom-emacs/screenshots/company.png]]
[[img:iVBORw0KGgoAAAANSUhEUgAAACUAAAAuCAAAAACKMo8cAA...]]
2018-10-17 16:31:23 -04:00
baa6f64025 lang/org: use correct todo keyword on M-RET
Previously, new TODO headers created with M-RET or M-S-RET (bound to
+org/insert-item) would use the first TODO keyword in org-todo-keywords
in the new header. This wouldn't necessarily match the previous header.
e.g.

* [ ] Item 1
* TODO |

This fix ensures new headers will preserve the correct header, even if
the previous one is in a DONE state.

* [ ] Item 1
* [ ] |
2018-10-17 01:24:26 -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
7d3ffdff06 Remove third line in section headers
This is truly important stuff. We've saved many lives with this update.
2018-09-09 09:58:19 -04:00
5663778e36 Make TAB respect org-cycle-separator-lines #800
outline-toggle-children and org-cycle-hide-drawers didn't respect
org-cycle-separator-lines.
2018-08-13 21:47:55 +02:00
c935f3e4da lang/org: fix backtab not outdenting items/headers 2018-07-30 04:06:00 +02:00
ebd3b0223e Fix followed org links not recentering correctly
Links like `file:test.cpp::45` would open file.cpp, but end up somewhere
else than line 45. Same with links like `file:test.cpp::int main()`.
2018-07-24 20:01:42 +02:00
e7b252f442 TAB should respect org-cycle-open-archived-trees
And shouldn't cycle visibility of archived trees by default.
2018-07-12 20:39:39 +02:00
4941e327f4 General refactor for readability
+ Removes redundant/unhelpful comments
+ Renames functions, hooks and variables to be self-documenting
+ Use add-to-list to ensure idempotency (and is more performant)
2018-07-09 15:33:31 +02:00
c9ffa063e7 Fix +org/insert-item in nested plain lists
Would prepend new list items in the middle of plain lists, rather than
before them.
2018-07-04 14:19:22 +02:00
38414a636f Fix evil-org's o/O in nested plain lists
Thanks by @fuxialexander
2018-07-04 13:16:11 +02:00
84c17b0413 Add docstring to +org-pretty-mode 2018-06-04 21:17:49 +02:00
23bd9d3efa Add FILE support to +org-get-property & optimize
Can now be used to grab properties from remote org files. Also only
reads the first 2048 bytes of the document by default, for performance
reasons.
2018-06-04 21:17:49 +02:00
f7a6089956 Restore vim zr, zR, zm, & zM folding in org-mode
For evil users.
2018-06-04 21:17:49 +02:00
f9be8887fb lang/org: minor refactor/reformatting
Also reduce internal use of map! (toward eventual switch to general)
2018-06-03 12:22:39 +02:00
5948a52a38 Fix jumpy cursor in org tables when using evil-replace 2018-05-30 18:15:58 +02:00
49f16f681c lang/org: realign/recalculate tables on exit evil replace mode 2018-05-30 01:45:35 +02:00
c46bd978fc lang/org: fix tab not folding src blocks 2018-05-17 23:05:35 +02:00
9e141cd01b lang/org: fix newline-and-indent behavior in src blocks 2018-05-08 15:36:42 +02:00
f3d54af5dc lang/org: fix +org/insert-item moving cursor into invisible region 2018-05-08 15:24:43 +02:00
460461ef54 tools/magit: clean up after magit more intelligently #506
Ensures magit buffers are cleaned up after magit-status is closed. Will
defer cleanup on process buffers, until the processes have finished.

Also fixes issue where quitting magit will leave leftover windows.
2018-04-08 20:44:40 -04:00
b7577f1e26 lang/org: fix org-shifttab only toggling current fold 2018-04-05 17:28:46 -04:00
bc91c55acc lang/org: augment org-cycle, rather than replace it
This removes +org/toggle-fold in favor of a more compatible alternative:
a org-tab-first-hook function that forces org-cycle only to toggle the
current subtree, and not cycle through all visibility states.
2018-04-04 06:56:59 -04:00
b47ccab4a5 lang/org: fix TAB not toggle folds on some headlines 2018-03-26 06:41:10 -04:00
5eba949550 lang/org: delete-char backward in org|delete-backward-char #472 2018-03-23 15:19:44 -04:00
1b9c5befb4 lang/org: refactor +org|realign-table-maybe 2018-03-22 14:41:48 -04:00
48f5811e0d lang/org: fix void-variable error upon backspace in tables #472 2018-03-22 14:41:27 -04:00
e929f831f6 lang/org: fix default TAB behavior for non-evil org users 2018-03-20 16:46:41 -04:00
8d11682e99 lang/org: make doom/delete-backward-char respect tables #457
With or without evil.
2018-03-12 17:09:36 -04:00
8976d1ad5a lang/org: fix org/insert-item in continued indented lines 2018-03-12 13:32:01 -04:00
d563d133ff lang/org: fix evil coupling #457
And use fix backspace not keeping tables aligned.
2018-03-12 13:32:00 -04:00
fa6459bb00 lang/org: improve footnote support for +org/dwim-at-point 2018-03-06 18:39:34 -05:00
a01320deeb lang/org: redo evil integration; add evil-org package
lang/org has now adopted much of evil-org, which introduces better evil
integration for org-mode. More testing is required.
2018-02-18 00:32:12 -05:00
aafa45e271 lang/org: fix insert-item tests; refactor +org/insert-item 2018-02-17 22:41:58 -05:00
4321f20b3e Appease byte-compiler-sama 2018-02-14 20:54:53 -05:00
e79942de2e lang/org: improve tab indent in src blocks
I realize org-src-tab-acts-natively exists, but it doesn't work for me.
This little fix (plus the next commit's editorconfig fix) should make
tab act much more reliably in src blocks.
2018-02-13 19:41:09 -05:00
5b92c3d99f lang/org: add evil insert check to +org|indent-maybe 2018-02-13 18:33:36 -05:00
7b70aa9b7d lang/org: reorganize autoload/org.el. Pedantry intensifies.
Library is now separated into alphabetically sorted sections. So nice
and neat!
2018-02-13 18:19:36 -05:00
d84af58f77 lang/org: refactor tab/backtab/ret keybinds to be less intrusive
Turns out the native TAB/Backtab/RET functionality in org already does
what I've replaced them with (somewhat).

Also, I discovered that the canonical way to modify TAB behavior was
through org-tab-first-hook. So, instead of replacing native
functionality, I've rewritten these keybinds to leverage them.
2018-02-13 18:12:40 -05:00