-
44 votes
(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.
Status: under reviewWe'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.
-
32 votes
(Syntax) A way to change the condition of an existing rule
One of the common (remaining) cases for procedural rules is to *conditionally* suppress library rules:
A procedural rule: if the Hat is worn, ignore the can't go through closed doors rule.
The compile-time way to do this is to delist the rule and replace it with an equivalent rule that does the... more
Status: planned -
25 votes
(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 typ... moreStatus: under reviewWe 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. -
16 votes
(IDE) Make Inform more SCM compatible
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 ... more
Status: under review -
14 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.
Status: under review -
13 votes
(World Model) Change the definition of unlocks to allow multiple keys
Currently, unlocks as a relation is defined so that only one key can unlock a given door. It's possible, but annoying, to hack around this. Why not rewrite the relation to relate various keys to various doors, and let authors create skeleton keys (applicable to several doors at once) or easily un... more
-
12 votes
(Namespace) Let compiler be made stricter by use option
A Use option that would force the author always to type the full
name of every object, rather than having the compiler guess what object was
intended by allowing subset names (e.g., accepting "car" to refer to "car
keys").Status: plannedClearly there are at least three interested parties here, so this is planned.
-
11 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 workarou... more
Status: under review -
11 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 i... more
-
10 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).whi... more
Status: planned -
10 votes
(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."
-
10 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.Status: startedWe are consulting with Andrew Plotkin about a change to the Glk standard that would expand the options.
-
10 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 ... moreStatus: started -
9 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 ... more
-
9 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, requ... moreStatus: planned -
8 votes
(World model) "Talkable" tag for microphones, voice-activated computers
Currently Inform refuses to let the player talk to objects that aren't people or animals. Inform 6 had a "talkable" tag that overrode this, which was useful for microphones and voice-activated computers. Something similar should be exposed at the I7 level.
-
8 votes
(Website/Extensions) Feedback for extension authors
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.
Status: startedCurrently investigating with volunteers.
-
8 votes
(Syntax) Easier way to create values that vary
Especially when creating global variables with descriptive names, the syntax is very awkward:
"The treasures remaining is a number that varies. The treasures remaining is 5."
A shorthand syntax would be helpful, such as one of the following:
The treasures remaining is a number that v... more
-
8 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.)
Status: under reviewWe
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. -
8 votes
(Syntax/programming) Lift restriction on creating temporary lists using a description of objects
The 'list of' phrase only uses the description locally, so it would be safe to allow local variables there, similar to how they can be used in some of the file writing phrases.
For instance, this is currently illegal but could safely be made legal:
Home is a room.
When play begins:
let the pl... more