Commit graph

197 commits

Author SHA1 Message Date
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
wanghao
b867afff1f delete redundant comma
this cause wrong tab width in c mode
2018-08-17 10:48:14 +08:00
Henrik Lissner
b17bbf2729
lang/cc: refactor company-(glsl|cmake) configs 2018-08-08 00:11:20 +02:00
Henrik Lissner
7e5b8012b6
lang/cc: set company backends on irony-mode
Rather than c/c++/objc modes.
2018-08-07 21:12:26 +02:00
Henrik Lissner
fa4b7502c2
lang/cc: add +cc/imenu command
Plus minor reformatting of autoloads file
2018-08-04 13:44:55 +02:00
Henrik Lissner
31c8c0c033
lang/cc: rewrite C/C++/OBJC header file detection 2018-08-03 03:41:31 +02:00
Henrik Lissner
cfebed96db
lang/cc: cull unnecessary def-package! blocks
rtags loads these packages for us, so long as
rtags-display-result-backend is properly set.
2018-08-02 03:47:29 +02:00
Aria
90d09e6f93 Highlight-numbers on every prog-mode 2018-07-29 12:19:56 +10:00