u/SandPrestigious2317

▲ 14 r/emacs

Finally go-to-definition w/ Eglot on JVM languages (Kotlin and Java)! do you know how to improve it?

Hey everyone, after much frustration and diving deep into my setup, I can finally say I will be using IntelliJ a lot less, for my daily work (personal projects and 90% of life already in Emacs, but work wasn't)

Kotlin-LSP (by Intellij team) and Eclipse JDTLS have go-to-definition problems for me, specially for 3rd party packages

Links to inside JARs didn't work, e.g. jar:///home/joe/.gradle/.../ConfigurationProperties.java or jar:file:///home/joe/.gradle/caches/modules-2/files-2.1/io.github.oshai/kotlin-logging-jvm/8.0.01/328a6389fbbf23e94b71586d3abb545bc86303a/kotlin-logging-jvm-8.0.01-sources.jar!/commonMain/io/github/oshai/kotlinlogging/KotlinLogging.kt

Finally, I am able to use Eglot nicely with Kotlin & Java thanks to the power of Emacs

EDIT: I use jarchive and eglot-java packages as well

Do you think this (or an improved way) should be upstreamed to Eglot, so that people out-of-the box get this fixed?

  (defun fix-ls-jar-uri (orig-fn uri &rest args)
    "Fix malformed jar:/// URIs sent by kotlin-language-server so jarchive can read them."
    (if (and (stringp uri) (string-prefix-p "jar:///" uri))
        ;; Inject 'file:' to make it a standard 'jar:file:///' URI
        (apply orig-fn (replace-regexp-in-string "^jar:///" "jar:file:///" uri) args)
      (apply orig-fn uri args)))

  ;; Apply the patch to Eglot's URI parser (handles both old and new Eglot versions)
  (if (fboundp 'eglot-uri-to-path)
      (advice-add 'eglot-uri-to-path :around #'fix-ls-jar-uri)
    (advice-add 'eglot--uri-to-path :around #'fix-ls-jar-uri))
reddit.com
u/SandPrestigious2317 — 4 days ago
▲ 41 r/scheme+1 crossposts

Iter Vitae is a free software project that aims to make it easy and maintainable to generate an attractive, modern and customizable Curriculum Vitae or resume for yourself and to allow you to define the course of your life and career directly in Guile Scheme code.

Find the project on Codeberg: https://codeberg.org/jjba23/iter-vitae

Everyone has the right to create a professional-looking Curriculum Vitae, using free software, without the constraints of proprietary software, lengthy setup processes, or a lack of freedom to modify layouts.

Traditional word processors like LibreOffice or similar can be cumbersome when trying to create a custom CV.

Iter Vitae offers an alternative by embracing the spirit of hacking and freedom, enabling you to customize every aspect of your CV.

With this tool, you can define the content, layout, and presentation of your CV directly in code, making it highly flexible and maintainable.

The tool separates data from its presentation (following the principles of the Model-View-Controller or MVC architecture), so you can focus on the data itself without worrying about formatting or styling.

Newly added as of v0.7.1 is the multi-theme support. Each theme is fully independent and can use different techniques. For example ef-cyprus is using Olive CSS, IBM Plex fonts, and Phosphor icons, while fundamental theme is completely doing something else.

Build a Curriculum Vitae for your next 40 years

This tool isn't just about creating a one-off CV — it's designed for long-term use, so you can update and evolve your resume over the years. The software supports multilingual content and is fully extensible, allowing you to add new data entries, customize the design, etc.

Also, version-control your CV code, and enjoy all the benefits. Work with a sane and flexible multi-lingual compatible data model.

Remember that with Guile Scheme, and the Lisp super-powers, everything is extensible, hackable and modifiable at any moment, giving you ultimate control and power.

See here a sample job definition

(define joe-job-ikea
        `((name (all . "IKEA - Ingka Digital"))
          (location (en . "Amsterdam, The Netherlands")
                    (nl . "Amsterdam, Nederland"))
          (position (en . "Software Engineer")
                    (nl . "Software Engineer"))
          (time (en . "January 2022 => March 2023")
                (nl . "Januari 2022 => Maart 2023"))
          (experience ((en . "Experience in Go, Java, Spring Boot and Gradle, Maven.")
                       (nl . "Ervaring in Go, Java, Spring Boot en Gradle, Maven."))
                      ((en . "Google Cloud Platform, Pub/Sub, Serverless computing.")
                       (nl . "Google Cloud Platform, Pub/Sub, Serverless computing."))
                      ((en . "Kubernetes and Docker, Terraform, Infrastructure-as-Code.")
                       (nl . "Kubernetes en Docker, Terraform, Infrastructure-as-Code."))
                      ((en . "PostgreSQL, BigTable, ElasticSearch, Redis, Firebase.")
                       (nl . "PostgreSQL, BigTable, ElasticSearch, Redis, Firebase")))))
u/SandPrestigious2317 — 10 days ago
▲ 148 r/scheme+3 crossposts

Lisp (and Scheme) allows you to express complex systems and problem domains in more simple terms than any other language can.

For all its brilliance, Haskell resists most of the attempts people make to just hack and write useful code quickly.

jointhefreeworld.org
u/SandPrestigious2317 — 16 days ago