emacs.si srečanje #39

Table of Contents

Pristoni: moe, miha, g1smo Kraj: CTK

<2026-02-02 pon 19:00>

1. Emacs na FOSDEMU

Edina omemba je eno predavanje o razvoju Guile-a izven Emacsa :( Ga pa lahko verjetno vidimo v (skoraj) vsaki predstavitvi v declarative and minimalist computing sobi: https://fosdem.org/2026/schedule/track/declarative-and-minimalistic-computing/

2. Posodobitev Jira 2 Org na API Jira verzijo 3

Brez predlog za kreiranje Org Moda, vse je še vedno v kodi, ampak spet deluje :) API sedaj omogoča branje opisa ticketov, v HTML-ju zato je uporabljen shr za pretvorbno HTML-ja v teskt. Slike žal niso podprte, saj se prikažejo le sivi kvadrati.

(defun jira-render-html (html-string)
  (let ((shr-bullet "- ")
        (shr-inhibit-images t)
        (start (point)))
    (insert html-string)
    (shr-render-region start (point))))

3. eglot

@g1smo usposobil eglot za PHP razvoj (Drupal v ddev containerju). Debata o staticni analizi in gejmifikaciji pisanja kode

3.1. git submodul

Imel sem problem, da je eglot za LSP project root vzel podprojekt (drupal modul), določene definicije kot je phpstan konfiguracija (za statično analizo) pa so se nahajale v "parent" projektu. Problem sem rešil takole:

project.el se uporablja v veliko modulih; s temle popravkom bo project root v pri meru git submodula "parent" projekt, v kolikor vsebuje fajl .project (ali druge, v idi spodaj)!

  (defun project-root-override (dir)
    "Find DIR's project root by searching for a '.project.el' file (see other optio
s in source).

    https://jmthornton.net/blog/p/emacs-project-override"
    (let ((root (or (locate-dominating-file dir ".project.el")
                    (locate-dominating-file dir ".project")
                    (locate-dominating-file dir ".projectile")))
          (backend (ignore-errors (vc-responsible-backend dir))))
      (when root (if (version<= emacs-version "28")
                     (cons 'vc root)
                     (list 'vc backend root)))))

  (use-package project
    :defer t
    :config
    (add-hook 'project-find-functions #'project-root-override))

Torej, project.el preglejuje parent direktorije določenega projekta in če naleti na enega izmed <dot>fajlov zgoraj, smatra tisti za root projekt.

4. org-pomodoro

Danes sem začel uporabljati ta paket, ki ponuja klasičen pomodoro odštevalnik za Org Taske. Bom uporabljal cel mesec in poročal na marčevskem sestanku o učinkovitosti.

Trenuten način dela:

  • seznam nalog v org2jira
  • org-capture aktualne naloge kot task
  • task clock-in z org-pomodoro
  • TODO: org-capture regije in shranitev pod aktualen task

5. org-translate

Moe se je igral z org-translate.el, orodje za računalniško pomoč pri prevajanju (CAT).

6. Org capture

Kako ujeti aktivno regijo:

(setq org-capture-templates
       '(("t" "Todo" entry (file+headline "~/org/filename.org" "Tasks") 
    "* TODO %?\n %i\n %a\n\n")))
;;                ---> ^^
  • "t": tipka za izbiro tega predloga
  • "Todo": ime predloga
  • entry: oblika rezultata (Org entry)

org#Template elements

  • (file+headline <...>): kam shraniti rezultat
  • %?: daj point sem
  • %i: "initial content" - vsebina aktivne regije
  • %a: "annotation" - ponavadi: link

org#Template expansion

Author: Yuri

Created: 2026-02-02 pon 23:48

Validate