aboutsummaryrefslogtreecommitdiff
path: root/content/notes/extending-dte-editor.md
blob: d23cbc7105cdaa676acc8608b0a75c1a5a027cd7 (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
---
title: "Extending dte editor"
url: extending-dte-editor.html
date: 2023-05-31T08:12:45+02:00
type: notes
draft: false
tags: [dte]
---

[`dte`](https://craigbarnes.gitlab.io/dte/) is an interesting editor I started using
lately more and more. Since it is using [`execvp()`](https://linux.die.net/man/3/execvp)
it can be easily extended. I needed comment/uncomment feature so I created a
small utility that does this for me. Code lives on repository
[dte extensions](https://git.mitjafelicijan.com/dte-extensions.git/about/)
but this utilities can be used for whatever you want. Make sure you have
version 1.11 or above.

Next one will be invoking formatter based on the type of a file.

My config that works for me.

```sh
set show-line-numbers true;
set tab-width 4;
set case-sensitive-search false;

# Special aliases
alias m_comment 'exec -s -i line -o buffer -e errmsg ~/.dte/bin/comment'
alias m_format 'save; exec go fmt .; reload'
alias m_duplicate 'copy;paste';

# Useful aliases.
alias m_force_close 'quit -f';
alias m_reload 'close; open $FILE'

# Key bindings.
bind M-s save;
bind M-q m_force_close;
bind M-z refresh;
bind C-down blkdown;
bind C-up blkup;
bind C-_ m_comment;
bind M-. m_format;
bind C-d m_duplicate;

# Syntax highlighting.
hi preproc magenta;
hi keyword red;
hi linenumber blue;
hi comment cyan;
```