summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md76
1 files changed, 76 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..8b31dac
--- /dev/null
+++ b/README.md
@@ -0,0 +1,76 @@
1`qwe` is a small, opinionated modal text editor built with Go with some
2batteries included like Tree-sitter integration for better syntax highlighting,
3basic LSP support, Ollama integration, and more.
4
5> [!NOTE]
6> This is a work in progress and built specifically for personal use. Do not
7> expect miracles. I will add features as I need them.
8
9I made this editor to learn about modal text editors and have a place to
10experiment with different ideas. It is not intended to emulate any existing
11editor, even though it shares some similarities with some of them like Vim in
12particular.
13
14Most of the keybindings are based on Vim, but there are some differences.
15
16https://github.com/user-attachments/assets/2e0ebe2d-98a6-447d-8e20-c00aa88fd7ee
17
18## Features
19
20- Modal Design (Insert/Normal/Visual/Command)
21- Tree-sitter Syntax Highlighting
22- LSP Support (Hover, Autocomplete, Definition, Diagnostics)
23- Fuzzy Finder (Files, Buffers, Warning Quickfix)
24- Jumplists (Normal/Visual)
25- Multi-Cursor (Normal/Visual)
26- Text Formatting (Normal/Visual)
27- Ollama Support (using local models)
28
29## Configuration
30
31Instead of having a configuration file, the editor uses command-line flags:
32
33- `-colors`: Show available colors
34- `-dev`: Enable development mode
35- `-file-check-interval`: File check interval (default 2s)
36- `-fuzzy-height`: Height of fuzzy finder (default 8)
37- `-gutter-width`: Width of the gutter (default 7)
38- `-info`: Show file associations and LSP info
39- `-leader`: Leader key (default "\\")
40- `-log`: Enable logging to file
41- `-log-path`: Path to log file (default "/tmp/qwe-editor-debug.log")
42- `-num-logs`: Number of logs in debug window (default 10)
43- `-ollama-interval`: Ollama check interval (default 5s)
44- `-ollama-model`: Ollama model (default "qwen2.5-coder:latest")
45- `-ollama-url`: Ollama URL (default "http://localhost:11434")
46- `-tab-width`: Default tab width (default 4)
47- `-version`: Show version
48
49## Download pre-built binary
50
51Download a pre-built binary from [GitHub
52releases](https://github.com/mitjafelicijan/qwe-editor/releases).
53
54> [!IMPORTANT]
55> macOS users will need to remove the quarantine bit from the binary before
56> running it with `xattr -d com.apple.quarantine qwe-macos`
57
58## Build from source
59
60- Clone the repository
61- Run `make -B`
62- Run `./qwe` to start the editor
63- Or run `make install` to install the editor
64
65## Release process
66
67- Tag a new version with `git tag vX.Y.Z`
68- Push the tag with `git push origin --tags`
69- Wait for the GitHub Actions workflow to finish
70
71## Special thanks
72
73- https://github.com/tree-sitter/tree-sitter
74- https://github.com/orgs/tree-sitter/repositories
75- https://github.com/sourcegraph/go-lsp
76- https://github.com/ollama/ollama