iceberg VS eglot

Compare iceberg vs eglot and see what are their differences.

iceberg

Iceberg is the main toolset for handling VCS in Pharo. (by pharo-vcs)

eglot

A client for Language Server Protocol servers (by joaotavora)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
iceberg eglot
5 66
133 2,178
0.0% -
9.1 3.0
12 days ago 4 days ago
Smalltalk Emacs Lisp
MIT License GNU General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

iceberg

Posts with mentions or reviews of iceberg. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-11.
  • LSP could have been better
    12 projects | news.ycombinator.com | 11 Oct 2023
    The problem with the filesystem is that it privileges organization scheme which isn’t the best one for every editing task. This makes, for example, implementation inheritance hard because your class has a bunch of invisible code in it. But, it you could expand all the superclass methods into a single view and then have edits automatically integrated into the appropriate places, this wouldn’t be as much of a problem.

    Java’s filesystem hierarchy is a great example of a “fileout” format for the sort of environment I’m talking about. Another example here is smalltalk repositories generated by Iceberg: https://github.com/pharo-vcs/iceberg

  • Pharo 11, the pure object-oriented language and environment is released!
    7 projects | /r/programming | 11 May 2023
    and looking at sample git commit (I assume this was done in Iceberg): https://github.com/pharo-vcs/iceberg/pull/1687/files
  • Stop Writing Dead Programs
    1 project | news.ycombinator.com | 20 Oct 2022
    By committing the code to a git repo and having a code review like every other language out there.

    I'm guessing you have never tried these things but image based Smalltalk implementations have supported VCS for decades now, literally. In Pharo this is with git using Iceberg:

    https://github.com/pharo-vcs/iceberg

    They even wrote a tutorial to make it easier: https://github.com/pharo-vcs/iceberg/wiki/Tutorial

    It's not magic, it's not even a problem, because the problem you're imagining doesn't actually exist. So long as the user of the system has at least half a brain (and maybe less) they will be capable of distributing their code with git these days.

  • Design Principles Behind Smalltalk (2001)
    2 projects | news.ycombinator.com | 20 May 2022
    Iceberg for Pharo: https://github.com/pharo-vcs/iceberg

    Monticello: http://www.wiresong.ca/monticello/

    I haven't used the latter, but the former is easy to use and based on libgit. Create a new repository, select the packages that go into it, make the initial commit. After that it'll tell you when the changes don't match the repo. You can select down to the method level since it's aware of the language's syntax and semantics. The generated repository looks like the Iceberg repo itself, a collection of directories for the packages and then .st files for the classes and their contents.

  • Pharo 10
    7 projects | news.ycombinator.com | 5 Apr 2022
    > a copy of your code the environment does some extra epicycles to copy it outside

    Iceberg https://github.com/pharo-vcs/iceberg is the Git/etc. integration built into Pharo and works extremely well. You don't need to "file out" code if that's what you meant.

eglot

Posts with mentions or reviews of eglot. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-11.
  • LSP could have been better
    12 projects | news.ycombinator.com | 11 Oct 2023
    Recently I stumbled upon this issue:

    https://github.com/joaotavora/eglot/discussions/1127

    I don't know enough about emacs and LSP to see the full picture, but it seems that both eglot's and corfu's maintainers, assumably very competent programmers, can't find a solution for this.

    I only skimmed the thread. My understanding is that LSP dumps a long list of completion candidates at once and they can't decide a cache strategy that works well with existing code...?

  • Spurious errors with Eglot / pylsp
    1 project | /r/emacs | 10 Jul 2023
    It could be. There are unfixed issues with eglot and corfu, and sadly not a lot of willingness to investigate.
  • Using Quarto with Emacs
    2 projects | /r/emacs | 9 Jun 2023
    Eglot errors when I add new Python code blocks. The error disappears when I reconnect the language server, but the same happens again when I add a new code block. My "workaround" now is that before I start working on the .qmd file, I just add a bunch of Python code blocks (for which I also have a function) and then reconnect the language server again. This way I can start working for a while until I need to add more code blocks again.
  • Looking for help in improving Typescript Eglot, Corfu, Orderless performance
    2 projects | /r/emacs | 8 Jun 2023
    This discussion has helped with some performance issues: https://github.com/joaotavora/eglot/discussions/993.
  • Typescript highlighting in emacs incomplete (compared to VSCode) even after using treesitter?
    1 project | /r/emacs | 3 Jun 2023
    I guess eglot doesn't support it yet: https://github.com/joaotavora/eglot/pull/839
  • joaotavora/breadcrumb: Emacs headerline indication of where you are in a large project
    4 projects | /r/emacs | 12 May 2023
    This is not by pure chance, João is the developer of the Eglot LSP client and the breadcrumbs from LSP-mode had been requested as a feature, but as far as I remember João thought rightfully that this could be an independent package, see https://github.com/joaotavora/eglot/discussions/988
  • Returning emacs user - what packages are common now?
    9 projects | /r/emacs | 9 May 2023
    A substantial section of the community is using corfu instead of company, but I wouldn't say company is out of date by any means. In emacs 29 eglot will be a built in, which might act as a replacement for lsp-mode depending on what functionality you need.
  • Eglot upgrade strategy
    1 project | /r/emacs | 6 May 2023
    I am currently running emacs 29 (built from emacs-29 branch) which – according to https://github.com/joaotavora/eglot – should contain the latest eglot.
  • 916 Days of Emacs
    12 projects | news.ycombinator.com | 13 Apr 2023
    Yep. You can use flymake or flycheck for that in combination with eglot or lsp-mode.

    See https://github.com/joaotavora/eglot#diagnostics

  • Eglot, eldoc and golang
    1 project | /r/emacs | 12 Apr 2023
    (I have reported this (that is, ElDoc missing docs for callable things at point, when Eglot is enabled) as an issue recently: First on GitHub-discussions https://github.com/joaotavora/eglot/discussions/1200, then on Debbugs https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62687. But the threads are very long, so I don't recommend reading them.)

What are some alternatives?

When comparing iceberg and eglot you can also consider the following projects:

gtoolkit - Glamorous Toolkit is the Moldable Development environment. It empowers you to make systems explainable through experiences tailored for each problem.

lsp-mode - Emacs client/library for the Language Server Protocol

REPLEndpoint - A RESTful endpoint that behaves like a REPL

dap-mode - Emacs :heart: Debug Adapter Protocol

PharoChipDesigner - A little chip design game inspired by KOHCTPYKTOP: Engineer of the People by Zachtronics

clangd - clangd language server

pharo - The Sources for Pharo

rust-analyzer - A Rust compiler front-end for IDEs [Moved to: https://github.com/rust-lang/rust-analyzer]

PharoByExample9 - The version of Pharo by Example for Pharo 90

web-mode - web template editing mode for emacs

Parasol - Testing web apps in Smalltalk using Selenium WebDriver.

company-mode - Modular in-buffer completion framework for Emacs