Commit Graph

110 Commits

Author SHA1 Message Date
a70e634ebd refactor(:lang): move tree-sitter init
Moved add-hook calls (for tree-sitter initialization) into their
respective modes' config blocks, or nearby, to be consistent with how
other, similar tools (like lsp!) are initialized, and does so at
runtime, rather than at expansion/compile time, which eval-when! caused.
2022-07-25 17:34:44 +02:00
7f814e5d99 refactor(:lang): redo tree-sitter hooks
- bind to major-mode-local-vars-hook instead of major mode hook
- bind the autodef tree-sitter! instead of the functions.
2022-05-22 21:26:08 +01:00
0c2f986708 feat(:lang): enable ts text objs in modes 2022-05-22 21:26:03 +01:00
06ed5ade3f refactor!(tree-sitter): add +tree-sitter flag
BREAKING CHANGE: break the global nature of the tree sitter
module by adding a +tree-sitter flag to every applicable module

In the background this hooks turn-on-tree-sitter-mode
to the major-mode-hook of the language.
This may also solve the eager loading of tree sitter
2022-05-22 21:26:00 +01:00
d58d084774 tweak(:lang,:tools): start eglot/lsp-mode later
To ensure lsp/eglot settings have precedence over local servers (e.g.
cider and lookup handlers).

Ref: clojure-emacs/cider#3170
2022-03-30 17:32:47 +02:00
971350bf96 remove custom server command 2020-11-12 22:05:39 -03:00
a460c1e364 fix rails command 2020-11-12 21:55:15 -03:00
088d0d14ea Merge pull request #3177 from otavioschwanck/feature/better-rake
use default search on rake tasks on :ruby lang
2020-05-24 22:53:38 -04:00
0b94bbb4e4 move rspec popup to :config 2020-05-20 10:20:55 -03:00
412e515020 better popup for rspec 2020-05-20 02:21:04 -03:00
b045be4bb6 use default search on rake tasks 2020-05-19 22:27:23 -03:00
21e8277aea Merge pull request #3141 from otavioschwanck/change-server-command
fix rails server lag
2020-05-18 03:03:35 -04:00
896cefb579 Merge branch 'develop' into add-keymap-description-for-ruby 2020-05-18 02:46:15 -04:00
8bb5cd2c62 fix rails server lag 2020-05-16 18:13:44 -03:00
cd4727041e Add keymap descriptions for Ruby module
We can make the whichkey menu for Ruby files a bit more user friendly by
showing simple names for each section.
2020-05-14 16:46:08 +01:00
fad7d806bf Merge pull request #3115 from otavioschwanck/projectile-rails-templates
Projectile rails templates
2020-05-14 04:20:32 -04:00
694be5cbd8 bring back projectile-rails functionality 2020-05-14 01:59:24 -03:00
6c01d1a5ac Increase read-process-output-max for robe-mode
It appears robe, like LSP, is very chatty, which can slow down Emacs.
2020-05-11 03:00:08 -04:00
7a73bb7ce7 Refactor ruby hooks 2020-04-29 00:09:12 -04:00
6d8811d70c Add Rails Server and console to buffer list 2020-04-28 19:58:11 -03:00
2e8b6aba98 lang/ruby: remove which-key-replacements-alist addition
These will be moved elsewhere eventually.
2020-04-13 22:37:43 -04:00
4b20c7206e Fix robe keybinds, extends projectile-rails, & minor refactors
Closes #2719
2020-03-13 17:34:44 -04:00
f82771980a Remove enh-ruby-mode
enh-ruby-mode's highlighter breaks when the buffer is unexpectedly
reverted. This sacrifices its superior highlighting and indentation, but
was too much trouble to maintain.
2020-03-11 23:20:06 -04:00
f6242346f9 lang/ruby: major refactor
Fixes #2700
2020-03-11 22:05:27 -04:00
0dfd125305 Use current estruture to add new file types 2020-03-09 21:45:02 +00:00
793895ccd7 Improvements to :lang ruby 2020-03-09 21:38:46 +00:00
992f4b76f4 lang/ruby: add +chruby (#2667)
Co-authored-by: Henrik Lissner <accounts@v0.io>
2020-03-09 14:04:10 -04:00
975f2e42f5 Merge pull request #2650 from otavioschwanck/bugfix/fix-spring-bug
Fix Spring bug on Ruby Rspec Mode
2020-03-03 12:27:36 -05:00
28ce581ca4 Add Rails support to Ruby module
The +rails flag sets up projectile-rails as a minor mode for
enh-ruby-mode and, if enabled under :lang, web-mode. Projectile-rails
keybindings are under "<localleader> r".

robe-rails-refresh was moved to "<localleader> R".
2020-03-03 07:35:12 +01:00
3e2b251a96 fix sprint bug 2020-03-02 20:28:08 +00:00
799b093176 Merge pull request #2572 from msanders/develop
lang/ruby: Add detection for additional files
2020-02-20 20:25:48 -05:00
59cb9b4aba ruby-insert-encoding-magic-comment = nil
It is the default with enh-ruby-mode.

Also: refactor ruby-mode config out of enh-ruby-mode.
2020-02-20 15:25:38 -05:00
9efd703947 lang/ruby: Add detection for additional files
This adds support for podspecs used by Cocoapods, Brewfiles from
Homebrew Bundle, and Fastfiles from Fastlane.
2020-02-20 10:07:16 -08:00
f29d5ed034 lang/ruby: minor refactor 2020-02-19 23:04:21 -05:00
8e748ec567 Use enh-ruby-mode for ruby shell scripts
Instead of ruby-mode
2020-02-19 23:02:07 -05:00
ac334a053e lang/ruby: auto enter inf-ruby when breakpoint detected 2019-10-29 12:00:28 +00:00
42421a765d Avoid fallback completion if lsp--buffer-deferred 2019-10-23 22:08:28 -04:00
9b25582be1 Reduce list of root files projectile searches for
And define them on a per-module basis. This reduces the number of file
checks it performs, particularly for non-project files.

Might help #1317
2019-10-19 22:22:49 -04:00
051bceb0a8 Refactor localleader keybinds #1270
Introduces a select few of the localleader keybind standards proposed in
issue #1270, corrects a few typos and introduces more localleader
keybinds in general.

Co-authored-by: yuhan0 <>
2019-10-04 22:04:47 -04:00
2d365619cd General refactor & cleanup, across the board 2019-09-13 22:00:34 -04:00
76cacb5bfe 💥 Rename def-package! -> use-package!
Calling this pivotal macro "def-package!" has frequently been a source
of confusion. It is a thin wrapper around use-package, and it should be
obvious that it is so. For this reason, and to match the naming
convention used with other convenience macros/wrappers, it is now
use-package!.

Also changes def-package-hook! -> use-package-hook!

The old macros are now marked obsolete and will be removed when straight
integration is merged.
2019-07-23 12:50:45 +02:00
7c9e9a3446 Move lsp! to local-vars hooks
- Set lsp-java-server-install-dir
- Use lsp! instead of lsp in lang/cc
2019-07-07 01:58:08 +02:00
5d94f048b6 editor/evil: remove evil-matchit
Its bugginess doesn't justify the "intelligence" it offers for block
keywords.
2019-06-10 09:38:57 +02:00
20e2ea5722 lang/ruby: rspec-use-rvm = nil if rbenv loads #1068 2019-05-04 19:13:27 -04:00
1103db1679 lang/ruby: if lsp fails, fallback to robe 2019-05-04 19:13:26 -04:00
77e4cc4d58 💥 Remove :feature category
:feature was a "catch-all" category. Many of its modules fit better in
other categories, so they've been moved:

- feature/debugger -> tools/debugger
- feature/evil -> editor/evil
- feature/eval -> tools/eval
- feature/lookup -> tools/lookup
- feature/snippets -> editor/snippets
- feature/file-templates -> editor/file-templates
- feature/workspaces -> ui/workspaces

More potential changes in the future:

- A new :term category for terminal emulation modules (eshell, term and
  vterm).
- A new :os category for modules dedicated to os-specific functionality.
  The :tools macos module would fit here, but so would modules for nixos
  and arch.
- A new :services category for web-service integration, like wakatime,
  twitter, elfeed, gist and pastebin services.
2019-04-24 18:16:04 -04:00
f9b6f6746f General, minor refactor/reformatting 2019-04-08 23:03:19 -04:00
72fb5603e7 Minor, general refactor & reformatting
Also swaps C-o and M-o in ivy

And use new ;;;###package cookie (not used yet)
2019-04-06 01:36:46 -04:00
2dc52bc9be 💥 Replace exec-path-from-shell w/ 'bin/doom env'
IMPORTANT: This is a breaking update for Mac users, as your shell
environment will no longer be inherited correctly (with the removal of
exec-path-from-shell). The quick fix is: 'bin/doom env refresh'. Also,
the set-env! autodef now does nothing (and is deprecated), be sure to
remove calls to it in your config.

Smaller changes:
+ This update also adds --no-* switches to doom quickstart
+ Includes general improvements to the documentation of several bin/doom
  commands.
+ Moves doom/reload* commands to core/autoload/config.el
+ doom/reload-project has been removed (it didn't actually do anything)

The breaking change:
This update adds an "envvar file" to Doom Emacs. This file is generated
by `doom env refresh`, populated with variables scraped from your shell
environment (from both non-interactive and interactive sessions). This
file is then (inexpensively) loaded at startup, if it exists.

+ The file is manually generated with `doom env refresh`.
+ It can be regenerated automatically whenever `doom refresh` is run by
  running `doom env enable` (`doom env clear` will reverse this and
  delete the env file).
+ `doom quickstart` will ask if you want to auto-generate this envvar
  file. You won't need it if you're confident Emacs will always be
  started from the correct environment, however.
+ Your env file can be reloaded from a running Emacs session with `M-x
  doom/reload-env`. Note: this won't work if the Emacs session you're
  running it in doesn't have a correct SHELL set. i.e. don't use this to
  create your first env file!

The idea isn't mine -- it's borrowed from Spacemacs -- and was
introduced to me in #1053 by @yurimx. I was impressed with it. Prior to
this, I was unhappy with exec-path-from-shell (no hate to the dev, I
understand its necessity), and 'doom patch-macos' wasn't ideal for mac
users (needed to be reapplied every time you update Emacs). What's more,
many users (even Linux users) had to install exec-path-from-shell
anyway.

This solution suffers from none of their shortcomings. More reliable
than patch-macos, more performant and complete than
exec-path-from-shell, and easily handled by bin/doom.
2019-03-28 01:56:09 -04:00
d77237a9c4 Correct missing bindings for rspec-mode
Signed-off-by: Huy Duong <qhuyduong@hotmail.com>
2019-03-15 10:01:43 +07:00