summaryrefslogtreecommitdiff
path: root/README.md
blob: 56d45a91f6d2425b502024eab4301d347bc0826a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# DGED

Because there is room for one more minimalistic text editor!

DGED is what happens if I remove everything I do not need from
GNU Emacs and only implement the things I need to be productive.

The editor was created as a learning exercise and to create something that I
can use as a daily driver. If anyone else happens to find it useful I will
be flattered and suprised.

## Features

- [x] Syntax highlighting
- [x] TOML configuration file
- [x] Editor commands (M-x)
- [x] Absolutely no plugin system
- [x] Terminal only
- [x] Mouse-free editing
- [ ] LSP Client implementation

## Contributing

Contributions are of course welcome. Please open a PR on the Github repository.

## Development Setup

The editor is built using BSD make so that needs to be installed.

To enable syntax highlighting (default) you will also need the tree-sitter library
installed.

All of this can be obtained using the Nix flake. To create a development shell with all
needed dependencies, issue:

```
$ nix develop
```
Currently, tree-sitter grammars can only be automatically fetched when using the Nix setup.

To build the editor, first create the build folder

```
$ mkdir -p build
```

Then call make

```
$ bmake
```

## Installing

If using nix, installation can be done by referring the flake with for example `nix profile`:

```
$ nix profile install .
```

or by using `home-manager` or `configuration.nix`.

If not using Nix, obtain the needed dependencies and then issue

```
$ make
```

followed by

```
# make install
```

Optionally, you can set `prefix` to a value of your liking.

## Documentation

The features of the editor are documented in the man page (`man dged`).