In 2016, @zarf created a syntax highlighter for I7 on Atom. This is a great development since the Inform IDE has some limitations (for me, I am struggling with slow typing rates with large files). I also struggle with clicking into a section of the story file, and then having no easy way to zoom back out.
With a small file, it is easy enough to scrub up and down or ā-F your way to happiness. With a large file, less so (my current work is 7000 lines and growing). As you scroll up and down, there are no rapid visual clues to the relative hierarchy of sections of the document. While I donāt expect Atom to generate Inform IDEās great index, there are a few things that would help:
Code folding for the volume, book, part, chapter, and section (a fold-all option, essentially provides an index)
Options to modify how these headings appear, particularly font-size increases for higher-level headings
Options to indent code within each level heading
Inform IDE Integration
Currently using any external editor feels like a hack. And there is a real possibility of code falling out-of-sync. Here are some feature requests that would help that:
Inform IDE has built-in support for an external editor
Inform IDE checks periodically for file modification and picks up that new version (or asks) like most modern editors
An option from Atom to edit/compile/run in the Inform IDE.
Thank you for all your work providing these tools.
Iām not sure the Inform IDE should have built-it support for external editors. For me, the IDE is arleady kind of a supercharged text editor.
In any case, with advanced text editors such as Atom, I think itās the role of the text editor to add support for Inform through extensions, not the other way around.
Have you heard of the VS Code extension I wrote? Not only does it highlight Inform source, but it also allows to compile, play and release Inform projects directly within VS Code (and underlines errors when compiling).
Features are missing (jumping to a heading, creating projects and extensions, installing extensions, replaying previous commands, the skein, the documentation or the index), but itās definitely possible to add them. (Well, itās quite difficult for the index because Inform outputs whole HTML pages instead of only the useful data, but anyway.) In fact, itās totally possible to fully replicate Inform IDEās experience in VS Code.
Iām sure itās possible to do the same with the Atom extension, if someone was willing to dedicate their time.
If you are talking about watching external modifications, yeah, sure, I think that feature should be added to the IDE, too.
I was seeing the point 1 (which is separate from the point 2 you mentioned) as a āprefered editorā field in the settings, specifying what sofware should open when you open a source or an extension. Say, like in a game engine like Unity, where you still edit game objets in Unity but C# files in your editor of choice. In Informās case, since the main asset is the source, Iām not sure how that would be useful (youād always switch to the IDE to test or look at the index anyway.) And you can open extensions in your editor of choice without having a specific field in the settings for it.
Unless Iām not understanding, that canāt be done from the IDEās side (at least not completely). Youād still have to have an extension/plug-in in your text editor to hook into the IDE. (For example, my VS Code extension does the compilation part, and the story can be played directly in VS Code, mostly removing the need for the IDE.)
Project by wmodes begins here.
The Kitchen is a room.
[And the rest of your story.]
Project ends here.
in projectname.materials/Extensions/wmodes/Project.i7x.
Your main source file would only contain the title and include the above extension.
"My Awesome Project" by wmodes
Include Project by wmodes.
Youāll then only need to open and edit the project-specific extension in Atom, leaving the main source file to Informās IDE. Youāll still need to search manually mistakes in your code when compiling, but you wonāt need to close and reopen your project in Informās IDE constantly, and the extension wonāt save automatically when compiling.
This also allows to split your project into multiple files, alleviating the need to be able to jump to any heading in a single big file.