Commit graph

204 commits

Author SHA1 Message Date
Henrik Lissner
d297dc6934
Minor refactor & comment revision across the board 2019-10-03 23:33:59 -04:00
Henrik Lissner
de6afec944
Merge pull request #1851 from alexandergraul/add-openSUSE-prerequisites
Add openSUSE prerequisite instructions
2019-10-03 12:09:37 -04:00
Alexander Graul
b7a98cc788 Add openSUSE prerequisite instructions
These instructions were tested on openSUSE Tumbleweed and openSUSE Leap
15.1. There are some modules left that are not documented yet, but this
already improves the sitution for common openSUSE users.
2019-10-03 16:01:35 +02:00
Valentin Ignatev
7ffc5d3134 Call renamed hook in the +cc/reload-compile-db autoload 2019-09-01 16:23:04 +03:00
Henrik Lissner
af26a14230
lang/cc: decouple lsp init from ccls package 2019-08-27 00:05:13 -04:00
Saura Charbonneau
720a8abf17 use emacsmirror for cmake-mode and protobuf-mode
to avoid giant git repos
2019-08-13 09:40:23 -07:00
Henrik Lissner
a3e262c7ac
💥 Refactor add-hook! macro & change arg order
This update may potentially break your usage of add-hook! if you pass
the :local or :append properties to it. This is how they used to work:

  (add-hook! :append 'some-mode-hook #'do-something)

Thsoe properties must now follow the hooks, e.g.

  (add-hook! 'some-mode-hook :append #'do-something)

Other changes:
- Various add-hook calls have been renamed to add-hook! because I
  incorrectly assumed `defun` always returned its definition's symbol,
  when in fact, its return value is "undefined" (so sayeth the
  documentation). This should fix #1597.
- This update adds the ability to add multiple functions to hooks
  without a list:

    (add-hook! 'some-mode-hook
               #'do-something
               #'do-something-else)

- The indentation logic has been changed so that consecutive function
  symbols at indented at the same level as the first argument, but forms
  are indent like a defun.

    (add-hook! 'some-mode-hook
               #'do-something
               #'do-something-else)

    (add-hook! 'some-mode-hook
      (message "Hello"))
2019-07-26 20:17:29 +02:00
Henrik Lissner
f25ec72253
lang/cc: fix stringp errors when loading rtags
Binary checks for rtags expect rtags-rc-binary-name and
rtags-rdm-binary-name to always be non-nil.
2019-07-24 15:25:42 +02:00
Henrik Lissner
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
Henrik Lissner
60acdcb962
lang/cc: conform to new conventions 2019-07-22 23:52:16 +02:00
Henrik Lissner
8482f26d51
Move cc modes smartparen functions to config/default 2019-07-22 23:51:39 +02:00
Henrik Lissner
b90dede1ab
💥 Replace package.el/quelpa with straight #374
There are a few kinks to iron out, but for the most part it's done. Doom
Emacs, powered by straight. Goodbye gnutls and elpa/quelpa issues.

This update doesn't come with rollback or lockfile support yet, but I
will eventually include one with Doom, and packages will be (by default,
anyway) updated in sync with Doom.

Relevant threads: #1577 #1566 #1473
2019-07-22 02:30:40 +02:00
Henrik Lissner
2ff762b397
Fix fd/rtags on debian/ubuntu
On debian/ubuntu, these executables have a different name:

- fd -> fdfind
- rc -> rtags-rc
- rdm -> rtags-rdm
2019-07-14 22:04:50 +02:00
Henrik Lissner
62af55dad0
Move emacs-snippets -> doom-snippets
The repo was renamed upstream.
2019-07-14 17:05:48 +02:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
3474e6bf09
lang/cc: move smartparens config to config/default 2019-05-22 03:50:53 -04:00
Henrik Lissner
d4ff90219e
lang/cc: remove +irony and +rtags flags from docs
They were removed a while back. Irony and rtags (et co) will be disabled
if +lsp is enabled, or can be disabled through package! declarations:

  ;; in ~/.doom.d/packages.el
  (package! irony :disable t)
  (package! rtags :disable t)
2019-04-24 18:16:05 -04:00
Henrik Lissner
c399c07694
Add :tools lsp checks for +lsp flag
Also:
- Reorganizes some :lang modules' packages.el file.
- Adds setuptools check in lang/python
- Adds javac check in lang/java
- Removes the depends-on! macro
2019-04-24 18:16:05 -04:00
Henrik Lissner
a4c5396558
Add better-jumper
Replaces evil's jumplist; makes its functionality available for non evil
users.
2019-04-24 18:16:04 -04:00
Henrik Lissner
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
Henrik Lissner
742687a51e
Add delq! and pushnew! macros
And move projectile configs to their respective modules (and out of
package configs).
2019-04-08 23:01:30 -04:00
Andrew Whatson
be4bae4acf Fix cc fontification for constants with numbers 2019-03-07 01:35:22 +10:00
Henrik Lissner
0bd576673c
Refactor lang/cc
+ Fix ffap integration
+ Code reduction for irony, rtags and lsp init hooks
+ Use c-add-style instead of unless+push
+ Log that irony server isn't installed
2019-03-02 01:51:51 -05:00
Henrik Lissner
6fc7b8c1c4
Better electric-indent uninhibiter
Will now work in C modes as well as Csharp, Java and Python; possibly
others that forcibly set electric-indent-inhibit.
2019-02-27 18:38:28 -05:00
Henrik Lissner
c3a6d38da4
Fix void-variable rtags-rdm-binary-name error 2019-02-27 03:13:11 -05:00
Shanavas M
1f63358947 Use configured variables for rtags binary names 2019-02-27 12:53:03 +05:30
Henrik Lissner
80d62aaaef
Fix electric indentation in c modes #510 #1206 2019-02-26 22:58:47 -05:00
Henrik Lissner
9b7d95f43a
Remove doom-cleanup-hook & doom/cleanup-session
These weren't reliable, often times buggy or overzealous about killing
buffers and processes. Best to do it manually or come up with a better
solution.
2019-02-26 22:57:02 -05:00
Henrik Lissner
d83ba452ef
Refactor +cc-c-c++-objc-mode
Improve docstring and a minor correction to C++ detection regexp.
2019-02-26 13:23:42 -05:00
Andrew Whatson
2d3937ac1f Restore C/C++ default-header-file-mode support 2019-02-26 20:25:55 +10:00
Andrew Whatson
cd997383da Replace cquery with ccls for C/C++ LSP support 2019-02-25 22:43:59 +10:00
Henrik Lissner
69ed1a4a99
feature/{syntax-checker,spellcheck} -> tools/fly{check,spell} 2019-02-22 00:25:30 -05:00
Henrik Lissner
cb923eadcc
Add basic LSP support
Still needs to be documented, but includes support for the following
languages:

+ C/C++/ObjC
+ Go
+ Java
+ Javascript
+ OCaml
+ PHP
+ Python
+ Ruby
+ Scala
+ Swift
+ HTML/CSS

Relevant to #460, #716, #1186
2019-02-21 19:13:35 -05:00
Henrik Lissner
9dd88e5924
Move c electric disabler to config/default
Because it is tied to the smartparens config, and we'll want this
behavior to extend to all C-derived modes (like csharp and php modes).
2019-02-18 15:36:44 -05:00
Henrik Lissner
60df01714e
lang/cc: more type safety when reading compile options #1168
It was possible that +cc-default-compiler-options and/or
irony--compile-options could contain a nil, causing stringp type errors.
2019-02-14 00:40:19 -05:00
Henrik Lissner
d46eaeddbf
Merge pull request #1100 from mbger/doc/cc
lang/cc Add known issues with bear to readme
2019-01-20 14:23:00 -05:00
Henrik Lissner
7251b50b35
Make bear-macos issue a sub-tree
Since it is directly relevant to the project-compile-settings section.
2019-01-20 14:22:45 -05:00
Henrik Lissner
d7f10cbcbd
lang/cc: fix brace-list argument block indentation
Should be

fn({
    ...
})

Instead of

fn({
        ...
    })
2019-01-14 00:50:33 -05:00
Henrik Lissner
957aa9c63e
lang/cc: make ffap aware of irony include paths 2019-01-14 00:49:58 -05:00
mbger
e02cde1195 :lang cc Add known issues section for macOS 2019-01-07 19:28:59 +01:00
Henrik Lissner
9916025d5c
lang/cc: rewrite README 2019-01-05 19:46:14 -05:00
Henrik Lissner
553cee5921
lang/cc: remove naive cdb file check #1028
irony looks for compile_commands.json in several places, but
+cc/reload-compile-db would error out if there it didn't exist at the
project root.
2018-12-05 14:22:14 -05:00
Henrik Lissner
53fe7a1f04 Refactor Project API to reflect changes upstream
projectile-project-root no longer returns `default-directory` if not in
a project (it returns nil). As such, doom-project-* functions (and their
uses) have been refactored.

+ doom-project-p & doom-project-root are aliases for
  projectile-project-p & projectile-project-root.
+ doom-project-{p,root,name,expand} now has a DIR argument (for
  consistency, since projectile-project-name and
  projectile-project-expand do not).
+ The nocache parameter is no longer necessary, as projectile's caching
  behavior is now more sane.
+ Removed some projectile advice/hacks that are no longer necessary.
+ Updated unit tests
2018-09-28 21:13:27 -04:00
Henrik Lissner
b43888901f lang/cc: add rotate patterns for c++-mode
These can be used by pressing ! in normal mode, over rotatable regions
of text.
2018-09-28 21:13:27 -04:00
Henrik Lissner
92cf264b1b
lang/cc: don't complain if irony isn't installed 2018-09-20 23:13:17 -04:00
Henrik Lissner
c58077810d
General refactor of modules
General code and comment improvements.

Also, removed the :desc's for csv-mode because map! is currently unable
to set which-key descriptions mode-locally, and should be avoided for
anything but global keybinds. This will be fixed when General is
introduced into Doom.
2018-09-09 09:58:20 -04:00
Henrik Lissner
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
Henrik Lissner
fd8f8c5108
feature/lookup: rewrite dash docset integration
+ Uses alist variable to store config, rather than hooks
+ Added check for installed docsets in +lookup/documentation
+ Set docsets for various language modules (c-mode, c++-mode, css-mode,
  scss-mode, sass-mode, web-mode, go-mode, racket-mode, emacs-lisp-mode,
  js2-mode, rjsx-mode, typescript-mode, rust-mode, and php-mode)
+ Made *eww* popups for dash docsets larger
+ Renamed set-docset! => set-docsets! (set-docset! is aliased to
  set-docsets!)
+ New +lookup/install-docset alias
2018-08-31 02:49:48 +02:00
Henrik Lissner
c7e6cb981b
lang/cc: simplify add-hook! call 2018-08-21 23:15:54 +02:00