iceberg
company-mode
iceberg | company-mode | |
---|---|---|
5 | 41 | |
133 | 2,158 | |
0.0% | 0.5% | |
9.1 | 8.6 | |
12 days ago | 7 days ago | |
Smalltalk | Emacs Lisp | |
MIT License | GNU General Public License v3.0 only |
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
-
LSP could have been better
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!
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
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)
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
> 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.
company-mode
-
LSP could have been better
I'm curious to know what `company` does differently here than `corfu`. As a longtime user I couldn't be happier.
https://company-mode.github.io/
-
C —> Guile is moving in the wrong direction: rather than going from a poor-but-performant systems programming language like C to a pedagogic language like Scheme, it’d be a better idea to move to an rich-and-performant language meant for industrial systems programming like Common Lisp
they wrote the first word and auto-completed the rest
-
Doom completion in vanilla emacs
For me, it's http://company-mode.github.io and maybe a touch of all-the-icons..
-
How can I get suggestions for filenames in python?
I'm not sure if I did anything special to enable it, but I'm pretty sure company-mode does this
-
Replacing packages with more "stripped down" packages
When I started using Emacs I was following the setup outlined by System Crafters, which I still think is a really good introduction. But, over the last few months I've started to replace packages with more "minimalist" or "stripped down" packages. I've switched from Ivy and Counsel to Vertico and Consult, and recently I switched from company to corfu for auto-completion.
-
Help a Linux kernel dev setup LSP
As for the Emacs configuration, you should only need a few lines of code, in order to get them up and running, if you are planning to keep your setup as close to vanilla as possible. If you are interested, you could additionally install a completion framework like company-mode to help you out.
-
Which is the best tool to enable extension in emacs?
As for auto-completion, there's a few different variants that people use. Auto-complete being one of them, but an alternative you might want to try is http://company-mode.github.io/
-
Auto-complete previews while typing w/ plug-able back-ends?
For the company-mode see Frontends.
- Let's share your top 3 packages that you can't live without.
-
What are some must-have packages for emacs?
Company is a classic, though corfu and cape, also by Daniel Mendler is really excellent.
What are some alternatives?
gtoolkit - Glamorous Toolkit is the Moldable Development environment. It empowers you to make systems explainable through experiences tailored for each problem.
corfu - :desert_island: corfu.el - COmpletion in Region FUnction
REPLEndpoint - A RESTful endpoint that behaves like a REPL
helm - Emacs incremental completion and selection narrowing framework
PharoChipDesigner - A little chip design game inspired by KOHCTPYKTOP: Engineer of the People by Zachtronics
eglot - A client for Language Server Protocol servers
pharo - The Sources for Pharo
vertico - :dizzy: vertico.el - VERTical Interactive COmpletion
PharoByExample9 - The version of Pharo by Example for Pharo 90
doom-emacs - An Emacs framework for the stubborn martian hacker [Moved to: https://github.com/doomemacs/doomemacs]
Parasol - Testing web apps in Smalltalk using Selenium WebDriver.
posframe - Pop a posframe (just a child-frame) at point, posframe is a **GNU ELPA** package!