This is Brian’s emacs config, it’s geared towards my specific use cases, in particular:
- I’m a C++/Web programmer in my day job for Oblong Industries
- I also use Python, React, and Electron
- I heavily use both linux, mac, and windows… but I cut my teeth on *BSD distributions
- Outside of work I use C++, C, Ada, Go, Julia, Python, and JS/HTML
- Despite my initial resistence to it, I’m a git convert and use it for everything
- While I’d like to use org-mode more, compatibility forces me to focus more on markdown
- I really like scheme and lisp, but can’t really justify major focus on them, hwoever slime, geiser, and lisp machines have really influenced how I develop
- I used to use emacs for everything, including mail and newsreading, but gmail is somewhat difficult to use with emacs so I don’t do that much anymore :-(
- Finally, I keep work specific code in a separate repo and load it on-demand based on if that repo is present
If any of this sounds useful, read on!
These are needed for LSP modes:
- bash
npm i -g bash-language-server
- CSS
npm install -g vscode-css-languageserver-bin
- HTML
npm install -g vscode-html-languageserver-bin
- Typescript
npm i -g typescript-language-server; npm i -g typescript
- VUE
npm install -g vue-language-server
- Python
- ~pip install ‘python-language-server[all]’~
- cquery
- https://github.com/cquery-project/cquery
- Go
- https://github.com/saibing/bingo/wiki/Install
These need to be evaluated based on the LSP support
go get -u golang.org/x/tools/cmd/...
- godef
go get -u github.com/rogpeppe/godef/...
go get -u github.com/nsf/gocode
- goimports
go get -u golang.org/x/tools/cmd/goimports
- guru
go get -u golang.org/x/tools/cmd/guru
- flymake
go get -u github.com/dougm/goflymake
I’ve found that having certain unicode chars in the mode line causes all updates on windows to be really slow, so I’ve removed my usage of those chars.
I like bright output in compilation, so I colorize the compilation output, and I jump to the end (which is great if there’s a small number of errors, but terrible if there is a large number of errors.
I also force subword-mode
, as I code with case.
go get -u golang.org/x/tools/cmd/...
go get -u github.com/rogpeppe/godef/...
go get -u github.com/nsf/gocode
go get -u golang.org/x/tools/cmd/goimports
go get -u golang.org/x/tools/cmd/guru
go get -u github.com/dougm/goflymake
- Org HTML Export
- Not working with this config, but works with no config…
- macOS
- Add support for the touch bar :-D
Unless otherwise noted all code is under the GPL v3 (see LICENSE.txt)