diff --git a/notes/developer-workflow.org b/notes/developer-workflow.org index b64112e..9f2d2f5 100644 --- a/notes/developer-workflow.org +++ b/notes/developer-workflow.org @@ -129,7 +129,7 @@ Viz =[[file:../examples/perl/example.pl][examples/perl/example.pl]]= — demonst #+begin_src bash brew install python ruff pyright -pip install pyvenv # volitelné, pro virtualenv management +# Pro virtualenv: použij M-x poetry nebo conda (pyvenv je zastaralé) #+end_src ** Keybindings @@ -145,9 +145,9 @@ pip install pyvenv # volitelné, pro virtualenv management ** Příklad workflow 1. Otevři projekt: =SPC p p= → vyber Python projekt -2. Virtual env: =M-x pyvenv-activate= → vyber venv adresář +2. Virtual env: =M-x poetry= nebo =conda-env-activate= → aktivuj prostředí 3. Navigace: =SPC s i= pro přehled tříd a funkcí -4. LSP: =gd= (definice), =K= (docs), =gr= (references) +4. LSP: =gd= (definice), =K= (docs), =SPC c D= (references) 5. Format: =SPC m f= — ruff format na celý soubor 6. Run: =SPC m r= — spustí =python3 buffer.py= v compile bufferu 7. Debug: =M-x pdb= → zadej =python3 -m pdb soubor.py= diff --git a/notes/emacs-new-features.org b/notes/emacs-new-features.org index 7d4ec66..04eff3e 100644 --- a/notes/emacs-new-features.org +++ b/notes/emacs-new-features.org @@ -1,207 +1,207 @@ -#+TITLE: Nove featury Doom Emacs -- testovaci pruvodce +#+TITLE: Nové featury Doom Emacs -- testovací průvodce #+include: ~/org/templates/document_personal.org -Tento dokument popisuje vsechny nove featury pridane do konfigurace. -Po kazde zmene je nutny =doom sync= + restart Emacsu. +Tento dokument popisuje všechny nové featury přidané do konfigurace. +Po každé změně je nutný =doom sync= + restart Emacsu. * Prerekvizity -Nez testuje cokoli: +Než testuješ cokoli: #+begin_src sh cd ~/.doom.d doom sync #+end_src -Pak restartuj Emacs. Bez toho nove balicky nejsou dostupne. +Pak restartuj Emacs. Bez toho nové balíčky nejsou dostupné. -* 1. link-hint -- otevirani odkazu bez mysi +* 1. link-hint -- otevírání odkazů bez myši -Co dela: zvyrazni vsechny viditelne org-format odkazy v bufferu a prirad jim -jednopismenne zkratky. Stisknutim pismene odkaz otevres nebo zkopirujes URL. +Co dělá: zvýrazní všechny viditelné org-format odkazy v bufferu a přiřadí jim +jednopísmenné zkratky. Stisknutím písmene odkaz otevřeš nebo zkopíruješ URL. -Prerekvizita: =doom sync= dokoncen, soubor musi obsahovat =[[...]]= odkazy. +Prerekvizita: =doom sync= dokončen, soubor musí obsahovat =[[...]]= odkazy. Jak testovat: -1. Otevri org soubor ktery ma =[[https://example.com]]= nebo =[[file:inbox.org]]= odkazy -2. Stiskni =SPC j k= -- link-hint zvyrazni viditelne odkazy -3. Stiskni pismeno vedle odkazu -- odkaz se otevri -4. Pro kopiovani URL: =SPC j K= +1. Otevři org soubor který má =[[https://example.com]]= nebo =[[file:inbox.org]]= odkazy +2. Stiskni =SPC j k= -- link-hint zvýrazní viditelné odkazy +3. Stiskni písmeno vedle odkazu -- odkaz se otevře +4. Pro kopírování URL: =SPC j K= -*Dulezite:* 'No links' je spravna hlaska kdyz buffer nema zadny =[[...]]= odkaz -viditelny na obrazovce. Index.org bez explicitu odkazu = zadne linky. Funguje -spravne -- neni to chyba. +*Důležité:* 'No links' je správná hláška když buffer nemá žádný =[[...]]= odkaz +viditelný na obrazovce. Index.org bez explicitních odkazů = žádné linky. Funguje +správně -- není to chyba. -Priklady odkazu ktere link-hint najde: +Příklady odkazů které link-hint najde: - =[[https://example.com][Odkaz]]= -- HTTP odkaz - =[[file:inbox.org]]= -- soubor -- =[[*Nadpis]]= -- interni odkaz v dokumentu +- =[[*Nadpis]]= -- interní odkaz v dokumentu -* 2. Avy -- skok na libovolne misto v bufferu +* 2. Avy -- skok na libovolné místo v bufferu -Co dela: zvyrazni kazdy vyskyt dvou zadanych znaku a skoci na vybrane -misto bez pohybu mysi. +Co dělá: zvýrazní každý výskyt dvou zadaných znaků a skočí na vybrané +místo bez pohybu myši. -Prerekvizita: Doom ma avy automaticky -- dostupny bez doom sync. +Prerekvizita: Doom má avy automaticky -- dostupný bez doom sync. Jak testovat: -1. Otevri soubor s textem -2. Stiskni =SPC j j= -- zadej dva znaky (napr. =th=) -- Avy zvyrazni shody -3. Stiskni pismeno u ciloveho vyskytu -- kurzor skoci tam -4. Pro skok na radek: =SPC j l= -- zadej pismeno u radku +1. Otevři soubor s textem +2. Stiskni =SPC j j= -- zadej dva znaky (např. =th=) -- Avy zvýrazní shody +3. Stiskni písmeno u cílového výskytu -- kurzor skočí tam +4. Pro skok na řádek: =SPC j l= -- zadej písmeno u řádku -Overeni: kurzor preskoci na vybranou pozici bez scrollovani. +Ověření: kurzor přeskočí na vybranou pozici bez scrollování. -* 3. olivetti-mode -- klidny distraction-free mod +* 3. olivetti-mode -- klidný distraction-free mód -Co dela: horizontalne centruje text na sirku 90 znaku. Zapina se *rucne* -- -automaticke zapinani by rozbilo corfu completion popup. +Co dělá: horizontálně centruje text na šířku 90 znaků. Zapíná se *ručně* -- +automatické zapínání by rozbilo corfu completion popup. -Prerekvizita: =doom sync=, balik =olivetti= nainstalovan. +Prerekvizita: =doom sync=, balík =olivetti= nainstalován. Jak testovat: -1. Otevri org nebo Markdown soubor -2. Stiskni =SPC t o= -- text se vycentruje na stred okna -3. Stiskni =SPC t o= znovu -- vrati se do normalniho layoutu +1. Otevři org nebo Markdown soubor +2. Stiskni =SPC t o= -- text se vycentruje na střed okna +3. Stiskni =SPC t o= znovu -- vrátí se do normálního layoutu -*Upozorneni:* Pokud zapnes olivetti a corfu popup zmizi nebo se zobrazi -mimo obrazovku, vypni olivetti. Olivetti meni vizualni marginy a corfu -pak pocita spatne souradnice popupu. +*Upozornění:* Pokud zapneš olivetti a corfu popup zmizí nebo se zobrazí +mimo obrazovku, vypni olivetti. Olivetti mění vizuální marginy a corfu +pak počítá špatné souřadnice popupu. -* 4. org-modern -- vylepseny vizual org-mode +* 4. org-modern -- vylepšený vizuál org-mode -Co dela: nahradi hvezdicky u nadpisu Unicode symboly (okrouhlymi tvary), -zvyrazni checkboxy. Aktivuje se automaticky po loadu org-modern balicku. +Co dělá: nahradí hvězdičky u nadpisů Unicode symboly (okrouhlými tvary), +zvýrazní checkboxy. Aktivuje se automaticky po loadu org-modern balíčku. -Prerekvizita: =doom sync=, balik =org-modern= nainstalovan. +Prerekvizita: =doom sync=, balík =org-modern= nainstalován. Jak testovat: -1. Otevri libovolny =.org= soubor (napr. inbox.org) -2. Nadpisy by mely mit jinak vyzerajici hvezdicky -3. Checkboxy =[ ]= a =[X]= vypadaji jinak +1. Otevři libovolný =.org= soubor (např. inbox.org) +2. Nadpisy by měly mít jinak vypadající hvězdičky +3. Checkboxy =[ ]= a =[X]= vypadají jinak -Pokud org-modern nefunguje na uz otevreny soubor: spust =M-x org-modern-mode= -rucne nebo zavre a znovu otevri soubor. Konfigu zajistuje aktivaci i pro uz -otevrene buffery pri loadu balicku. +Pokud org-modern nefunguje na už otevřený soubor: spusť =M-x org-modern-mode= +ručně nebo zavři a znovu otevři soubor. Konfigurace zajišťuje aktivaci i pro už +otevřené buffery při loadu balíčku. -Overeni org exportu (klicove): -1. Otevri org soubor s tabulkou a nadpisy +Ověření org exportu (klíčové): +1. Otevři org soubor s tabulkou a nadpisy 2. =SPC m e l o= nebo =C-c C-e l o= -- PDF export -3. Export musi probehnou bez chyby -4. =org-modern-table= je vypnuto -- tabulkove overlaye by mohly interferovat +3. Export musí proběhnout bez chyby +4. =org-modern-table= je vypnuto -- tabulkové overlaye by mohly interferovat -* 5. org-fragtog -- automaticky nahled LaTeX fragmentu +* 5. org-fragtog -- automatický náhled LaTeX fragmentů -Co dela: kdyz kurzor vstoupi do LaTeX fragmentu (=$E=mc^2$=), zobrazi -ho jako obrazek; kdyz kurzor odejde, fragment zustane jako obrazek. +Co dělá: když kurzor vstoupí do LaTeX fragmentu (=$E=mc^2$=), zobrazí +ho jako obrázek; když kurzor odejde, fragment zůstane jako obrázek. -Prerekvizita: =doom sync=, =org-fragtog= nainstalovan, funkci =dvipng= +Prerekvizita: =doom sync=, =org-fragtog= nainstalován, funkční =dvipng= nebo =imagemagick=: =brew install imagemagick=. Jak testovat: -1. Otevri org soubor -2. Napis =$E = mc^2$= -3. Pohni kurzorem ven z fragmentu -- mel by se zobrazit jako obrazek -4. Pohni kurzorem dovnitr -- obrazek zmizi, zobrazi se zdrojovy kod +1. Otevři org soubor +2. Napiš =$E = mc^2$= +3. Pohni kurzorem ven z fragmentu -- měl by se zobrazit jako obrázek +4. Pohni kurzorem dovnitř -- obrázek zmizí, zobrazí se zdrojový kód -Pokud dvipng neni dostupny, org-fragtog selze tise. Zkontroluj: +Pokud dvipng není dostupný, org-fragtog selže tiše. Zkontroluj: =M-x org-toggle-latex-fragment= * 6. org-super-agenda -- skupiny v agenda view -Co dela: rozdeli org agenda view do skupin: Dnes, Cekam, Kyndryl, ZTJ, Ostatni. +Co dělá: rozdělí org agenda view do skupin: Dnes, Čekám, Kyndryl, ZTJ, Ostatní. -Prerekvizita: =doom sync=, =org-super-agenda= nainstalovan. +Prerekvizita: =doom sync=, =org-super-agenda= nainstalován. Skupiny: -- *Dnes*: polozky se SCHEDULED nebo DEADLINE dnes -- *Cekam*: polozky s TODO stavem WAIT +- *Dnes*: položky se SCHEDULED nebo DEADLINE dnes +- *Čekám*: položky s TODO stavem WAIT - *Kyndryl*: tag =:kyndryl:= nebo =:work:= - *ZTJ*: tag =:ztj:= -- *Ostatni*: vsechno co nezapadne do predchozich skupin +- *Ostatní*: všechno co nezapadne do předchozích skupin Jak testovat: -1. Otevri org agenda: =SPC o A= nebo =C-c a a= -2. Agenda by mela zobrazovat skupiny s nazvy -3. Polozky s TODO =WAIT= ve skupine "Cekam" +1. Otevři org agendu: =SPC o A= nebo =C-c a a= +2. Agenda by měla zobrazovat skupiny s názvy +3. Položky s TODO =WAIT= ve skupině "Čekám" -*Pokud agenda zobrazuje prazdnou stranku:* Spust =M-x org-super-agenda-mode= -pro aktivaci, nebo zkontroluj ze =doom sync= byl dokoncen. +*Pokud agenda zobrazuje prázdnou stránku:* Spusť =M-x org-super-agenda-mode= +pro aktivaci, nebo zkontroluj že =doom sync= byl dokončen. * 7. org-noter -- anotace PDF v org-mode -Co dela: propojuje PDF soubor s org souborem poznamek. Strankovani je synchronizovano. +Co dělá: propojuje PDF soubor s org souborem poznámek. Stránkování je synchronizováno. -Prerekvizita: =doom sync=, =org-noter= nainstalovan, PDF otvira se v pdf-view. +Prerekvizita: =doom sync=, =org-noter= nainstalován, PDF otevírá se v pdf-view. Jak testovat: -1. Otevri PDF soubor -- mel by se otevrit v pdf-view, ne v Preview -2. Stiskni =SPC o n= -- spusti org-noter session -3. Posouvej PDF -- org soubor se synchronizuje s aktualni strankou -4. Pridej poznamku: =SPC o N= -- vlozi org heading s pozici v PDF +1. Otevři PDF soubor -- měl by se otevřít v pdf-view, ne v Preview +2. Stiskni =SPC o n= -- spustí org-noter session +3. Posouvej PDF -- org soubor se synchronizuje s aktuální stránkou +4. Přidej poznámku: =SPC o N= -- vloží org heading s pozicí v PDF -Overeni: org heading obsahuje =:NOTER_PAGE:= property. +Ověření: org heading obsahuje =:NOTER_PAGE:= property. * 8. GPTel -- rewrite regionu a org heading -Co dela: -- =SPC o g r= -- posle oznaceny region do GPTel s instrukci "vyleps text" - a nahradi ho odpovedi -- =SPC o g p= -- posle obsah aktualu org headingu jako kontext do GPTel chatu +Co dělá: +- =SPC o g r= -- pošle označený region do GPTel s instrukcí "vylepši text" + a nahradí ho odpovědí +- =SPC o g p= -- pošle obsah aktuálního org headingu jako kontext do GPTel chatu -Prerekvizita: gptel funkci (=SPC o g g= otevira chat). +Prerekvizita: gptel funguje (=SPC o g g= otevírá chat). Jak testovat (rewrite): -1. Otevri soubor s textem -2. Oznac region (visual mode: =v=) -3. =SPC o g r= -- pockat -- region se nahradi vylepsenim -4. Zprava: =GPTel: text vylepsen= v minibufferu +1. Otevři soubor s textem +2. Označ region (visual mode: =v=) +3. =SPC o g r= -- počkat -- region se nahradí vylepšením +4. Zpráva: =GPTel: text vylepšen= v minibufferu Jak testovat (org heading): -1. Otevri org soubor +1. Otevři org soubor 2. Postav kurzor do headingu -3. =SPC o g p= -- obsah headingu odeslan do GPTel chatu +3. =SPC o g p= -- obsah headingu odeslán do GPTel chatu -* 9. git-link -- kopiovani URL na Gitea +* 9. git-link -- kopírování URL na Gitea -Co dela: zkopiruje URL aktualniho souboru/radku na Gitea do clipboardu. +Co dělá: zkopíruje URL aktuálního souboru/řádku na Gitea do clipboardu. -Prerekvizita: =doom sync=, soubor musi byt v git repo s remote na Gitea. +Prerekvizita: =doom sync=, soubor musí být v git repo s remote na Gitea. Jak testovat: -1. Otevri soubor v emacs-doom nebo jinem Gitea repo -2. Postav kurzor na konkretni radek -3. =SPC g y= -- URL zkopirovna do clipboardu -4. Zkontroluj: =pbpaste= v terminalu +1. Otevři soubor v emacs-doom nebo jiném Gitea repo +2. Postav kurzor na konkrétní řádek +3. =SPC g y= -- URL zkopírována do clipboardu +4. Zkontroluj: =pbpaste= v terminálu -Overeni: URL odpovida aktualnimu souboru a radku na git.apps.sukany.cz. +Ověření: URL odpovídá aktuálnímu souboru a řádku na git.apps.sukany.cz. * 10. Forge -- Gitea integrace v Magit -Co dela: pridava pull request a issue management do Magit. +Co dělá: přidává pull request a issue management do Magit. Prerekvizita: =doom sync=, API token v =~/.authinfo=. -Nastaveni tokenu: -1. Prihlasit se na =https://git.apps.sukany.cz= +Nastavení tokenu: +1. Přihlásit se na =https://git.apps.sukany.cz= 2. Settings -> Applications -> Generate new token (scope: =repo=) -3. Pridat do =~/.authinfo=: +3. Přidat do =~/.authinfo=: : machine git.apps.sukany.cz login daneel^forge password 4. =chmod 600 ~/.authinfo= Jak testovat: -1. Otevri Magit: =SPC g g= +1. Otevři Magit: =SPC g g= 2. Stiskni =@= -- Forge menu 3. =@ f= -- fetch forge data (PRy, issues) -*Poznamka:* Bez tokenu Forge selze s chybou autentizace (ocekavane chovani). +*Poznámka:* Bez tokenu Forge selže s chybou autentizace (očekávané chování). -* Prehled klaves +* Přehled kláves -| Klavesa | Funkce | +| Klávesa | Funkce | |-----------+-------------------------------| -| SPC j k | link-hint -- otevri odkaz | -| SPC j K | link-hint -- kopiruj URL | +| SPC j k | link-hint -- otevři odkaz | +| SPC j K | link-hint -- kopíruj URL | | SPC j j | avy-goto-char-2 | | SPC j l | avy-goto-line | | SPC t o | olivetti-mode toggle | @@ -209,25 +209,25 @@ Jak testovat: | SPC o N | org-noter-insert-note | | SPC o g r | GPTel rewrite region | | SPC o g p | GPTel org heading -> kontext | -| SPC g y | git-link (kopiruj URL) | +| SPC g y | git-link (kopíruj URL) | | SPC g Y | git-link-commit | -* Reseni problemu +* Řešení problémů -** link-hint rika 'No links' -Normalni chovani kdyz buffer nema zadny =[[...]]= odkaz viditelny na obrazovce. -Testuj na org souboru ktery obsahuje =[[https://...]]= nebo =[[file:...]]= linky. +** link-hint říká 'No links' +Normální chování když buffer nemá žádný =[[...]]= odkaz viditelný na obrazovce. +Testuj na org souboru který obsahuje =[[https://...]]= nebo =[[file:...]]= linky. ** corfu nefunguje po olivetti -Vypni olivetti (=SPC t o=). Olivetti meni vizualni marginy, corfu popup pak -ma spatne souradnice. +Vypni olivetti (=SPC t o=). Olivetti mění vizuální marginy, corfu popup pak +má špatné souřadnice. ** org-modern nefunguje -Spust =doom sync= + restartuj Emacs. Pokud stale ne: =M-x org-modern-mode= -nebo zavre a otevri soubor znovu. +Spusť =doom sync= + restartuj Emacs. Pokud stále ne: =M-x org-modern-mode= +nebo zavři a otevři soubor znovu. -** org export selze s Unicode varovanim -Zkontroluj svuj .org soubor na Unicode znaky mimo Latin-1: +** org export selže s Unicode varováním +Zkontroluj svůj .org soubor na Unicode znaky mimo Latin-1: #+begin_src sh python3 -c " with open('tvuj-soubor.org') as f: @@ -238,14 +238,14 @@ with open('tvuj-soubor.org') as f: break " #+end_src -Smazani nebo nahrazeni techto znaku vyresi problem. +Smazání nebo nahrazení těchto znaků vyřeší problém. -** org-super-agenda zobrazuje prazdnou agendu -Spust =M-x org-super-agenda-mode= pro rucni aktivaci. -Zkontroluj ze org soubory maji polozky se SCHEDULED nebo DEADLINE. +** org-super-agenda zobrazuje prázdnou agendu +Spusť =M-x org-super-agenda-mode= pro ruční aktivaci. +Zkontroluj že org soubory mají položky se SCHEDULED nebo DEADLINE. ** Forge: 'Invalid token' -Zkontroluj format =~/.authinfo= -- zadne uvozovky, zadne mezery navic: +Zkontroluj formát =~/.authinfo= -- žádné uvozovky, žádné mezery navíc: : machine git.apps.sukany.cz login daneel^forge password TOKEN * emacs-new-features :PROPERTIES: