diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 76 |
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 | ||
| 2 | batteries included like Tree-sitter integration for better syntax highlighting, | ||
| 3 | basic 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 | |||
| 9 | I made this editor to learn about modal text editors and have a place to | ||
| 10 | experiment with different ideas. It is not intended to emulate any existing | ||
| 11 | editor, even though it shares some similarities with some of them like Vim in | ||
| 12 | particular. | ||
| 13 | |||
| 14 | Most of the keybindings are based on Vim, but there are some differences. | ||
| 15 | |||
| 16 | https://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 | |||
| 31 | Instead 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 | |||
| 51 | Download a pre-built binary from [GitHub | ||
| 52 | releases](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 | ||
