aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md15
1 files changed, 14 insertions, 1 deletions
diff --git a/README.md b/README.md
index 7454862..fb532d5 100644
--- a/README.md
+++ b/README.md
@@ -25,6 +25,7 @@ With Guix:
```sh
guix shell -m manifest.scm -- make check
guix build -f guix.scm
+guix package -f guix.scm
```
Run:
@@ -48,6 +49,8 @@ make install PREFIX=$HOME/.local
`ECEX_FONT` can also point at a TTF font. `ECEX_INCLUDE` can point at the Ecex
include directory when loading configs from another working directory.
+If no `--config` is provided, Ecex looks for `ecexrc.c` in
+`$XDG_CONFIG_HOME/ecex` and then `~/.config/ecex`.
## Useful Keys
@@ -58,6 +61,8 @@ include directory when loading configs from another working directory.
- `C-x k`: kill buffer
- `C-x d`: file browser
- `M-x messages`: open the read-only `*Messages*` buffer
+- `C-g d` in C buffers: jump to definition from the project root
+- `C-g f` in C buffers: open file at point using project include flags
- `C-s` / `C-r`: incremental search
- `C-/`: undo
- `C-S-z`: redo
@@ -77,6 +82,14 @@ follow-up work is tracked in `docs/ccdjit-improvements.md`.
`guix.scm` defines a local package. It installs the binary, public headers,
sample configs, and docs, and wraps `ecex` with `ECEX_INCLUDE` and a DejaVu font
-path.
+path. It also exports Guix profile search paths so `#include "ecex.h"` is
+discoverable by Clang after the profile environment is sourced.
+
+In C-mode, `ENTER` auto-indents, `S-TAB` removes one indent level, and
+`ecex_c_mode_set_tab_width(2)` changes the tab width from config.
+For `C-g d`/`C-g f`, ecex finds the project root by walking up to `.git`,
+`compile_commands.json`, `compile_flags.txt`, or `.ecex-project`. Clangd uses
+standard `compile_commands.json`/`compile_flags.txt`; `C-g f` also reads include
+flags such as `-Iinclude` from `.ecex-project`.
Ecex is distributed under the BSD 2-Clause License. See `LICENSE`.