General
-
(IDE/Compiler) Semantic code highlighting
Improve the syntax highlighter by also highlighting words based on what they mean to the compiler. We could have different colors for objects, rulebooks, kinds, variables, properties, etc.
The semantic analysis would have to be done by NI, producing a markup file for the IDEs to read.
104 votesunder review ·Adminemshort (Admin, Inform 7) responded
We’re seriously considering this, but more discussion and planning is needed: it would require a great deal of work not just for the core of Inform but for all of the interfaces.
-
(World Model) Dynamic object creation
Dynamic object creation has been frequently requested, but we
have resisted because it would have to be a Glulx-only feature. Jesse McGrew's
Dynamic Objects extension offers some of these features, but would be
stronger if there were some kind of internal table or routine to look up the
data types of properties, global variables, and rulebook variables at runtime.57 votesunder review ·Adminemshort (Admin, Inform 7) responded
We remain less than enthusiastic, but are looking into the possibility of
making this information available at the I6 template level. We need to be
careful of anything that would increase the size of the array area on the
Z-machine. -
(IDE) Make Inform more SCM compatible *VW*
I can't help it ... I'm a software engineer first and an IF author much, much, much further down the list. I want to keep my Inform project in SCM (Source Code Management). I use Git, which has no problem with many of the normal problems (spaces in the file names, etc.).
However, it's a little hit-or-miss figuring out which files are (re)generated from the source, and which are not. Some guidelines would be nice, and if all generated files were put in a subdirectory, that would be even better.
The biggest challenge is the Skein. It's stored as a… more
39 votes -
[IDE] Code-only searching in the documentation
Add a check-box next to the documentation search box that would search only the code snippets in the documentation, and not the main text. Searches for 'in' would become useful, as well as many other English phrases that are also I7 code.
33 votes -
(World model) Three-way relations
It would be nice to have two-way relations that also have an attached value for weighted relationships of some kind; or three-way relations. (These are essentially the same thing, only with different formal properties and kinds of terms.)
30 votesunder review ·Adminemshort (Admin, Inform 7) responded
We
would still like to see this. The most formidable problems are to do with the
storage requirements – naive users could easily ask for enormous amounts of
storage (e.g., a ternary relation between things) without realising how badly
this will scale as their projects grow larger. Sparse data representations in
dynamically allocated memory are more plausible, but come with a performance
hit, and would be restricted to Glulx. -
(Syntax) Allow possessive pronouns
In the case of specific objects or simple variables, allow for the use of possessive pronouns to reference properties, so "the location's description" would be a natural language synonym for "the description of the location."
22 votes -
(IDE) Add bookmarks in the source text
A way to bookmark one's place in the Source text panel so that one
can quickly jump back to it. We propose to allow the user to set bookmarks in
the source, with shortcuts to jump back to the most-recently set; the bookmarks
would also be visible in the contents view of the source, and could be deleted
again.21 votes -
(World Model) Make bracketed objects in room description text mark items as mentioned
Currently, printing the name of something in bracketed text (like [the orange] or [the list of round fruits]) marks it as mentioned, preventing it from appearing later-- except if this occurs within the room description itself. It would be nice if this worked within room descriptions, so workarounds like Mentioned In Room Description by Ron Newcomb are no longer necessary.
18 votes -
(Mac IDE) In tables, align word-wrapped lines of text with their columns
When a line is word-wrapped in a table, it would be nice if it aligned with its column rather than pushing all the way to the left. This would be especially helpful with topic/response dialogue tables, where the response may frequently run longer than one line. These tables may be lengthy and it can be hard to easily identify where rows begin and end.
Since this gets messy if inner columns align, perhaps this only applies to the final column in a table. Authors would then just need to save their longest lines for the last column, which they are… more
18 votes -
(Parsing) Way to make Inform forget all grammar for a given action
Currently if we want to forget an
action with lots of synonyms, we have to do things likeUnderstand the command "hit" as something new.
Understand the command "kill" as something new.
Understand the command "attack" as something new.
...which is annoying, requires going through the indices to find all the
words accepted for an action, and always leaves the author with the
apprehension that maybe he hasn't caught all of them. And it's even worse
if we want to redefine, say, *only* "get off...", but not "get": since we
have to first forget "get" as a command, then *rewrite*… more17 votes -
14 votes
-
(Website/Extensions) Feedback for extension authors *VW*
It would be great if users could leave feedback and reviews of extensions indicating which ones were especially useful. This would be a good tip for other authors and also provide some encouragement to extensions creators who do a good job.
14 votesstarted ·Adminemshort (Admin, Inform 7) responded
Currently investigating with volunteers.
-
(Windows and GNOME/IDE) Allow writing of Inform 6 projects *VW*
At present, neither the Windows IDE nor the GNOME Linux IDE allows the user to write a project entirely in Inform 6, though both IDEs can package a pre-compiled Inform 6 project with metadata. I'd like to see this feature, already present in the Mac OS X IDE, implemented across the board.
14 votes -
(Parsing) Null token for understand grammar
The ability to define a null token in a list of alternatives in
Understand grammar, to match the existing ability to make a word optional
in a phrase definition. For example,Understand "google for/-- [text] in/on [library computer]" as consulting
it about (with nouns reversed).which could match "GOOGLE FOO ON COMPUTER" or "GOOGLE FOR FOO ON COMPUTER".
While there are other ways to achieve this effect, by defining new grammar
tokens, allowing "--" would be quicker and more legible.13 votes -
(IDE/Manual) Let me search for two related words in proximity, rather than a phrase
The Mac IDE searches on exact strings, so "suppress banner" will ONLY find the exact string "suppress banner" as if there were quotes around the search term, rather than it being two separate words with an OR between them - my suggestion to fix that is to use quotes to denote specific strings that include spaces, otherwise treat the search as a list of words with OR. Using multiple words often results in no results because those words are never adjacent, or I can use single words, and with many common words I get so many irrelevant results that I… more
13 votes -
Support external editor
The IDE should keep a timestamp of the last time it saved the source text. Then, when the IDE is foregrounded, it should check the story.ni file's modification time. If the file was updated more recently than the IDE saved, the IDE should silently "revert" to the newer contents.
This would allow the user to have the file open in an external editor, save, switch to the IDE, and compile.
(This is the preferred behavior for Mac text editors. See TextWrangler/BBEdit, for example.)
13 votes -
More control over colors and styles in Glk/Glulx
Authors have repeatedly asked for more control over the styles used in
the game. At a minimum, some way for arbitrary colour changes to be allowed -
this is the one area where Glk/Glulx is behind the Z-Machine.13 votesstarted ·Adminemshort (Admin, Inform 7) responded
Work revising the Glulx standards and possible browser display is ongoing.
-
(Parsing) Does the player mean should have an "unobvious" choice
In addition to "it is completely impossible", it should be possible to say that something is a reasonable option but that the parser should never guess it on its own (so that the parser doesn't solve puzzles for us).
13 votes -
(Extensions) Have an extensions repository *VW*
Extensions should be accessible through a repository, like an apt repository.
Inform 7 should automatically download and install any extensions it needs but doesn't have, while keeping all old versions accessible.
12 votes -
(Syntax) Change the misleading "visible" in "applies to a visible thing)
In action descriptions, the terms "applying to one visible thing" is misleading -- what's really meant is that the thing is *in scope*, and often it isn't visible at all, especially if we're talking about something that is placed in scope at a distance, like a conversation topic.
11 votes