← Back to context

Comment by dominicrose

3 months ago

It wouldn't be too hard to code a Smalltalk-like IDE for Ruby (compared to building a normal IDE), but the Ruby files would have to be structured in a specific way. It would not be possible to edit them using another IDE or text editor, unless you preserve the structure, but it would work well with Git.

Another issue is that the developer would have to use two IDE's, one for Ruby and one for the rest.

Everytime you access a class in the IDE, it could read the class's Ruby file into memory and split it into protocols (a protocol could just be a comment above the method name in the output Ruby file) and methods so that you can visualize them one by one the Smalltalk way.

Or - I don't recommend it but - if you really want the Smalltalk experience then: - your code would be running in the same Ruby process as the IDE - any code change would be made in the live running process - store code in a database instead of files - version control from the database instead of git

Yeah, I'm looking at having my text editor handle much of the formatting of my Ruby files, I've already got a serviceable indenter. My text editor will eventually be able to handle more than one language, so I won't need any more IDEs, and I can handle other languages the usual way, with language servers. I've thought about keeping the work source in the same process as the editor, but I think it would be better to have a separate process like emacs does with robe. Then I could reload the entire system every time I save a file without having to worry about editor state.