Strona 1 z 1
[CLI][Linux][Windows][MacOS] Zrób własny edytor tekstu na podstawie Antirez's Kilo
: poniedziałek 16 lip 2018, 02:49
autor: j23
Szukając jakiegoś edytora tekstu do trybu CLI znalazłem taki ciekawy tutorial jak napisać własny edytor tekstu z funkcją wyszukiwania i podświetlenia składni:
Antirez's Kilo text editor DIYTutorial jest co prawda po angielsku, ale plusy są takie, że wszystko jest opisane wyjątkowo dokładnie i dość uniwersalnie.

Pozdrawiam! J23
Re: [CLI][Linux][Windows][MacOS] Zrób własny edytor tekstu na podstawie Antirez's Kilo
: poniedziałek 16 lip 2018, 22:13
autor: j23
A tutaj znalazłem edytor CLI, który jest zrobiony w oparciu o tutorial Antirez'a:
https://github.com/GrenderG/tteEdit1: Pod Debianem 64 bit działa dobrze. Co prawda podświetlanie składni działa dopiero po zapisaniu pliku z rozszerzeniem, ale to jest szczegół.
Uruchamia się wpisując z CLI:
Działa zapisywanie typu CTRL+S, ładnie podświetla składnię.

Edit2: Na Raspberry Pi 1 B+ także działa bardzo pięknie, szybko i sprawnie. Po prostu bajka.

Teraz kod np. C do np. jakiegoś µC AVR mogę klepać w Raspberry.

Pozdrawiam! J23
Re: [CLI][Linux][Windows][MacOS] Zrób własny edytor tekstu na podstawie Antirez's Kilo
: wtorek 17 lip 2018, 13:18
autor: piotrek
Ale przeciez sa takie edytory jak chociazby vi / vim, ktore sa dostepne w wiekszosci dystrybucji i maja potezne wsparcie spolecznosci.
Re: [CLI][Linux][Windows][MacOS] Zrób własny edytor tekstu na podstawie Antirez's Kilo
: wtorek 17 lip 2018, 13:55
autor: xor
Hej, dzięki za ten materiał. Bardzo ciekawy. Pomijając zasadność czy brak pisania własnego edytora, chciałbym zwrócić uwagę na coś innego co jest bardzo ładnie opisane w tym materiale. Mianowicie chodzi o problem niebuforowanego odczytu znaków z konsoli. Załóżmy że mamy jakiś programik konsolowy i w nim jakiś tam np. prosty menusek gdzie wciśnięcie klawisza generuje natychmiastowo jakieś akcje. W windzie istnieje niesławna biblioteka conio która udostępnia potrzebne funkcje. W linuksie nie ma podobnego liba a domyślny tryb konsoli wymaga zatwierdzenia wpisanego znaku Enterem. W arcie jest opisane jak to zwalczyć przez przełączenie konsoli w tryb niebuforowany oraz, co ważne, jak po zamknięciu programu odtworzyć pierwotne ustawienia. I to jest to co na pewno warto zapamiętać z tego materiału. Co najmniej to.
Re: [CLI][Linux][Windows][MacOS] Zrób własny edytor tekstu na podstawie Antirez's Kilo
: wtorek 17 lip 2018, 15:42
autor: j23
piotrek pisze:Ale przeciez sa takie edytory jak chociazby vi / vim, ktore sa dostepne w wiekszosci dystrybucji i maja potezne wsparcie spolecznosci.
To prawda. Zresztą są to bardzo dobre edytory i nie przeczę, że w sensie możliwości i funkcjonalności lepsze niż podany tu powyżej, niemniej podałem to jako ciekawostkę + know-how jak się do tego zabrać przy najmniejszej możliwie objętości kodu do przeanalizowania. No i -jak już wspomniałem, a Kolega Xor słusznie zauważył- w tutorialu jest wszyatko bardzo dokładnie, praktycznie linia po linii wytłumaczone co się dzieje i dlaczego. Oczywiście z edytorami jest jak z wersjami Linuxa, każdy preferuje przeważnie co innego, więc w żaden sposób nie ośmielam się w tym wątku niczego komukolwiek narzucać.

Ot, taka ciekawostka.

Pozdrawiam! J23
Re: [CLI][Linux][Windows][MacOS] Zrób własny edytor tekstu na podstawie Antirez's Kilo
: wtorek 17 lip 2018, 15:42
autor: mokrowski
xor pisze:W windzie istnieje niesławna biblioteka conio która udostępnia potrzebne funkcje. W linuksie nie ma podobnego liba a domyślny tryb konsoli wymaga zatwierdzenia wpisanego znaku Enterem.
Nawet w "antycznych" systemach Unix była od dawna dostępna biblioteka curses. Następna generacja tej biblioteki to ncurses. Poźniej dodano do niej poprawną obsługę znaków szerokich (np. UTF). Czyli raczej było to dostępne od dawna. A obsługa terminala już na wstępie zakładała tryb bez opóźnień (poza wieloma innymi).
Poza tym dość wcześnie wydzielono biblioteki obsługi linii komend (np. readline czy editline w BSD). To daje możliwość "magicznego wciskam kombinację i np. zwiększa głośność"

Poza tym oczywiście tutorial bardzo fajny i dzięki @j23 że go umieściłeś

Re: [CLI][Linux][Windows][MacOS] Zrób własny edytor tekstu na podstawie Antirez's Kilo
: wtorek 17 lip 2018, 15:46
autor: j23
Dzięki Kolego Mokrowski za przybliżenie kolejnych informacji (o ncurses, bibliotekach, etc.). Jeżeli chodzi o "grzebanie" w Linuxie to ja cały czas się uczę, a więc każda informacja na wagę złota.

Pozdrawiam! J23
Re: [CLI][Linux][Windows][MacOS] Zrób własny edytor tekstu na podstawie Antirez's Kilo
: wtorek 17 lip 2018, 16:46
autor: xor
Mokrowski jak zwykle, dokładnie i bez najmniejszej możliwości apelacji punktuje ignorancję. Nie żebym narzekał

Ja to raczej myślałem o prościutkim menu w prostym programie typu np. testowego, z czytaniem przez getchar(), bez instalowania i uczenia się dodatkowych bibliotek: "wduś 'a' by wysłać sygnał, 'b' by zakręcić wiatraczkiem, ESC wy wyjść" i takie tam.