Commit Graph

155 Commits

Author SHA1 Message Date
01fa9ec169 lang/cc: update README 2019-10-07 12:59:11 -04:00
d297dc6934 Minor refactor & comment revision across the board 2019-10-03 23:33:59 -04:00
de6afec944 Merge pull request #1851 from alexandergraul/add-openSUSE-prerequisites
Add openSUSE prerequisite instructions
2019-10-03 12:09:37 -04:00
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
7ffc5d3134 Call renamed hook in the +cc/reload-compile-db autoload 2019-09-01 16:23:04 +03:00
af26a14230 lang/cc: decouple lsp init from ccls package 2019-08-27 00:05:13 -04:00
720a8abf17 use emacsmirror for cmake-mode and protobuf-mode
to avoid giant git repos
2019-08-13 09:40:23 -07:00
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
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
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
60acdcb962 lang/cc: conform to new conventions 2019-07-22 23:52:16 +02:00
8482f26d51 Move cc modes smartparen functions to config/default 2019-07-22 23:51:39 +02:00
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
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
62af55dad0 Move emacs-snippets -> doom-snippets
The repo was renamed upstream.
2019-07-14 17:05:48 +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
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
3474e6bf09 lang/cc: move smartparens config to config/default 2019-05-22 03:50:53 -04:00
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
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
a4c5396558 Add better-jumper
Replaces evil's jumplist; makes its functionality available for non evil
users.
2019-04-24 18:16:04 -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
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
be4bae4acf Fix cc fontification for constants with numbers 2019-03-07 01:35:22 +10:00
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
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
c3a6d38da4 Fix void-variable rtags-rdm-binary-name error 2019-02-27 03:13:11 -05:00
1f63358947 Use configured variables for rtags binary names 2019-02-27 12:53:03 +05:30
80d62aaaef Fix electric indentation in c modes #510 #1206 2019-02-26 22:58:47 -05:00
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
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
2d3937ac1f Restore C/C++ default-header-file-mode support 2019-02-26 20:25:55 +10:00
cd997383da Replace cquery with ccls for C/C++ LSP support 2019-02-25 22:43:59 +10:00
69ed1a4a99 feature/{syntax-checker,spellcheck} -> tools/fly{check,spell} 2019-02-22 00:25:30 -05:00
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
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
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
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
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
d7f10cbcbd lang/cc: fix brace-list argument block indentation
Should be

fn({
    ...
})

Instead of

fn({
        ...
    })
2019-01-14 00:50:33 -05:00
957aa9c63e lang/cc: make ffap aware of irony include paths 2019-01-14 00:49:58 -05:00
e02cde1195 :lang cc Add known issues section for macOS 2019-01-07 19:28:59 +01:00
9916025d5c lang/cc: rewrite README 2019-01-05 19:46:14 -05:00
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
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
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
92cf264b1b lang/cc: don't complain if irony isn't installed 2018-09-20 23:13:17 -04:00
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
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
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