[CLI][Linux][Windows][MacOS] Zrób własny edytor tekstu na podstawie Antirez's Kilo

Projekty użytkowników forum zarówno sprzętowe, jak i związane z programowaniem w dowolnym języku.
Awatar użytkownika
j23
Expert
Expert
Posty: 506
Rejestracja: czwartek 08 paź 2015, 18:40

[CLI][Linux][Windows][MacOS] Zrób własny edytor tekstu na podstawie Antirez's Kilo

Postautor: j23 » poniedziałek 16 lip 2018, 02:49

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 DIY
Tutorial jest co prawda po angielsku, ale plusy są takie, że wszystko jest opisane wyjątkowo dokładnie i dość uniwersalnie. :)

Pozdrawiam! J23
Internet łączy ludzi, którzy dzielą się swoimi zainteresowaniami, pomysłami i potrzebami, bez względu na geograficzne (przeciwności).
BOB TAYLOR, PARC

Awatar użytkownika
j23
Expert
Expert
Posty: 506
Rejestracja: czwartek 08 paź 2015, 18:40

Re: [CLI][Linux][Windows][MacOS] Zrób własny edytor tekstu na podstawie Antirez's Kilo

Postautor: j23 » poniedziałek 16 lip 2018, 22:13

A tutaj znalazłem edytor CLI, który jest zrobiony w oparciu o tutorial Antirez'a:
https://github.com/GrenderG/tte

Edit1: 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:

Kod: Zaznacz cały

<user>@<domain>~tte


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
Internet łączy ludzi, którzy dzielą się swoimi zainteresowaniami, pomysłami i potrzebami, bez względu na geograficzne (przeciwności).
BOB TAYLOR, PARC

Awatar użytkownika
piotrek
User
User
Posty: 155
Rejestracja: niedziela 05 lis 2017, 02:46

Re: [CLI][Linux][Windows][MacOS] Zrób własny edytor tekstu na podstawie Antirez's Kilo

Postautor: piotrek » wtorek 17 lip 2018, 13:18

Ale przeciez sa takie edytory jak chociazby vi / vim, ktore sa dostepne w wiekszosci dystrybucji i maja potezne wsparcie spolecznosci.

Awatar użytkownika
xor
User
User
Posty: 169
Rejestracja: poniedziałek 05 wrz 2016, 21:44

Re: [CLI][Linux][Windows][MacOS] Zrób własny edytor tekstu na podstawie Antirez's Kilo

Postautor: xor » wtorek 17 lip 2018, 13:55

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.

Awatar użytkownika
j23
Expert
Expert
Posty: 506
Rejestracja: czwartek 08 paź 2015, 18:40

Re: [CLI][Linux][Windows][MacOS] Zrób własny edytor tekstu na podstawie Antirez's Kilo

Postautor: j23 » wtorek 17 lip 2018, 15:42

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
Internet łączy ludzi, którzy dzielą się swoimi zainteresowaniami, pomysłami i potrzebami, bez względu na geograficzne (przeciwności).
BOB TAYLOR, PARC

Awatar użytkownika
mokrowski
User
User
Posty: 190
Rejestracja: czwartek 08 paź 2015, 20:50
Lokalizacja: Tam gdzie Centymetro

Re: [CLI][Linux][Windows][MacOS] Zrób własny edytor tekstu na podstawie Antirez's Kilo

Postautor: mokrowski » wtorek 17 lip 2018, 15:42

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ś :)
,,Myślenie nie jest łatwe, ale można się do niego przyzwyczaić" - Alan Alexander Milne: Kubuś Puchatek

Awatar użytkownika
j23
Expert
Expert
Posty: 506
Rejestracja: czwartek 08 paź 2015, 18:40

Re: [CLI][Linux][Windows][MacOS] Zrób własny edytor tekstu na podstawie Antirez's Kilo

Postautor: j23 » wtorek 17 lip 2018, 15:46

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
Internet łączy ludzi, którzy dzielą się swoimi zainteresowaniami, pomysłami i potrzebami, bez względu na geograficzne (przeciwności).
BOB TAYLOR, PARC

Awatar użytkownika
xor
User
User
Posty: 169
Rejestracja: poniedziałek 05 wrz 2016, 21:44

Re: [CLI][Linux][Windows][MacOS] Zrób własny edytor tekstu na podstawie Antirez's Kilo

Postautor: xor » wtorek 17 lip 2018, 16:46

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.


Wróć do „DIY”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 4 gości