- Musi działać przez PuTTy.
- Musi obsługiwać zaznaczanie tekstu:
- klawiaturą (SHIFT + strzałki/home/end, SHIFT+CTRL + strzałki/home/end, CTRL+A),
- myszą.
- Musi obsługiwać CTRL+C, CTRL+V.
- Jeśli to możliwe schowek powinien być zintegrowany z komputerem który odpala PuTTy.
- Obsługa tylko LF.
- Search/replace. Może być bez regeksów.
- Menu na górze i "okienkowy" interfejs.
- Konwersja tabs to spaces.
- Konwersja CRLF to LF.
- Obługa tabulatorów (niestety konieczność).
- Jakieś kolorowanie składni (byłoby fajnie, choć nie priorytet).
- Chodzenie po słowach CTRL + lewo/prawo.
- Nie musi obsługiwać dużych plików.
- Musi pokazywać plik jako read only jeśli nie da się zapisać.
- Smart indent (głupi indent czyli). Tabulator i backspace wstawiają/usuwają 4 spacje. Nowa linia kopiuje indentację z poprzedniej.
- Podgląd i edycja heksów.
- Wewnętrzny schowek z historią do kilku wstecz.
- Wsparcie zmiany rozmiaru okna terminala.
- cała (prawie) funkcjonalność ma być dostępna bez myszy.
- Unlimitted UNDO/REDO levels.
- Support for UTF-8. All other encodings are optional.
- Możliwość dodawania okienek z rozszerzeniami, np. grep, bash console
- Możliwość zagnieżdżenia w istniejącym programie (tu masz wymiary okienka, daj listnery na zmianę rozmiaru, run)
editor-tests
executable must be run inside tests/
directory, because it needs to access tests/test-data
.
- Catch2 by Phil Nash (Boost license).
- nlohmann/json by Niels Lohmann (MIT license).
- wcwidth by Markus Kuhn (custom license).
- GSL by Microsoft (MIT license).
- optional by Simon Brand (CC0 license).
- expected by Simon Brand (CC0 license).
git pull
git submodule init
git submodule update
http://ascii-table.com/ansi-escape-sequences-vt-100.php https://espterm.github.io/docs/VT100%20escape%20codes.html https://vt100.net/docs/vt100-ug/chapter3.html