Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Inform 7 Feature for Eclipse

39 views
Skip to first unread message

jpl...@gmx.de

unread,
Aug 10, 2007, 9:43:52 PM8/10/07
to
Hello,

With spare time over holidays (alas, soon over) I started a project at
http://inform-eclipse.sf.net which may be of particular interest to
Linux users who wish to write Inform 7 fiction more comfortably. There
is no software to download there yet; I'll make the initial release
available some time next week. At this point I'm interested in what
people think about the overall idea and whether anyone would like to
help with this open source project.

-JPL

sarganar

unread,
Aug 13, 2007, 9:14:36 AM8/13/07
to
hi,
and are you plannig some kind of smart intellisense or 'inform doc'
feat?


jpl...@gmx.de

unread,
Aug 13, 2007, 7:44:43 PM8/13/07
to

My current priority is to reproduce the functionality offered by the
default Inform 7 IDE. Later on, some of the nice features found in the
other Eclipse plugins could be adopted. I hope that
"intellisense" (autocompletion), ctrl-click "drilldown" navigation,
hovers etc. could all be done based on the contents of the index
generated by the Inform 7 compiler.

-JPL

Eric Forgeot

unread,
Aug 14, 2007, 12:11:57 AM8/14/07
to
jpl...@gmx.de wrote:

> At this point I'm interested in what
> people think about the overall idea

it looks interesting and I'll test it gladly, but the website stated : "The
default IDE has not been ported to Linux yet." which is not entirely true
because the gnome-inform project has been quite far in the port, and it's
the one I'm using at the moment.

But as I said, I will test this Eclipse plug in.

Andy Leighton

unread,
Aug 14, 2007, 7:06:15 AM8/14/07
to

As an eclipse user I think this is an excellent idea.
Personally I think that building the IDE around Eclipse will bring
a better (and more powerful) user experience for me (and should allow
all the standard IDE does). Sorry but I can't help out as proper work
is eating up nearly all my time at the moment.

--
Andy Leighton => an...@azaal.plus.com
"The Lord is my shepherd, but we still lost the sheep dog trials"
- Robert Rankin, _They Came And Ate Us_

jpl...@gmx.de

unread,
Aug 14, 2007, 11:49:01 AM8/14/07
to
On Aug 14, 6:11 am, Eric Forgeot <use_form_on_webs...@anamnese.fr.st>
wrote:

Thanks for your interest. You can now install the first version
through the update site, as explained at http://inform-eclipse.sourceforge.net/downloads.html
and in the manual. I also expanded the Getting Started section of the
manual, even though it should not really be needed for seasoned
Eclipse users.

I added a link to the GNOME Inform 7 project to the start page. I had
trouble installing it on an older Linux notebook because of all the
required GNOME dependencies, so I could not really check it out before
starting the Inform 7 Feature for Eclipse project (being offline, lazy
etc.)

namekuseijin

unread,
Aug 14, 2007, 5:32:09 PM8/14/07
to
On 10 ago, 22:43, jpl...@gmx.de wrote:
> Linux users who wish to write Inform 7 fiction more comfortably.

can there be any way more comfortable than opening vim? :)

jpl...@gmx.de

unread,
Aug 14, 2007, 6:47:26 PM8/14/07
to

Emacs... jk ;)

When I have first seen Eclipse, I was already a long-time vim user and
therefore bent on using vim for writing (Java) source code. I reckoned
I'd just use Eclipse for debugging/refactoring because vim appeared so
much more familiar and superior as an editor. Over the years, I have
*almost* completely switched over to Eclipse's built-in editor
(excellent navigation features, online syntax checking and intelligent
documentation tooltips), even though I still fall back on vim when I
have a repetitive text processing task that I wish to automate.

namekuseijin

unread,
Aug 15, 2007, 11:20:23 AM8/15/07
to
On 14 ago, 19:47, jpl...@gmx.de wrote:
> Emacs... jk ;)

but it's almost as big or bigger than Eclipse! ;)

> When I have first seen Eclipse, I was already a long-time vim user and
> therefore bent on using vim for writing (Java) source code.

and I'm sure it has vi keybindings and behaviour emulation, like
Netbeans or emacs itself. Imitation is the sincerest form of
flattery... :)

namekuseijin

unread,
Aug 15, 2007, 11:35:10 AM8/15/07
to
On 14 ago, 19:47, jpl...@gmx.de wrote:
> Emacs... jk ;)

but it's almost as big or bigger than Eclipse! ;)

> When I have first seen Eclipse, I was already a long-time vim user and
> therefore bent on using vim for writing (Java) source code.

and I'm sure it has vi keybindings and behaviour emulation, like

Eric Forgeot

unread,
Aug 15, 2007, 12:20:55 PM8/15/07
to
jpl...@gmx.de wrote:

> Thanks for your interest. You can now install the first version
> through the update site, as explained at
> http://inform-eclipse.sourceforge.net/downloads.html and in the manual. I

I've installed the inform 7 features in eclipse, and my local installation
of the compiler is in :
/usr/local/share/inform7/Compilers

but neither /usr/local/share/inform7/Compilers,
nor /usr/local/share/inform7/, or /usr/local/share/ are accepted as valid
path to the compiler :(

> I added a link to the GNOME Inform 7 project to the start page. I had
> trouble installing it on an older Linux notebook because of all the
> required GNOME dependencies, so I could not really check it out before

if you don't mind downloading a whole livecd for trying gnome-inform, you
can use this one : http://esclinux.tk
The latest version has Inform 7 and gnome-inform7 in it.

It has also AlanIDE which is based on Eclipse. I've tried also to install
inform features on it, but it's probably too old because it got some
errors.

sarganar

unread,
Aug 15, 2007, 12:50:25 PM8/15/07
to
On 15 ago, 13:20, Eric Forgeot <use_form_on_webs...@anamnese.fr.st>
wrote:

> I've installed the inform 7 features in eclipse, and my local installation
> of the compiler is in :
> /usr/local/share/inform7/Compilers
>
> but neither /usr/local/share/inform7/Compilers,
> nor /usr/local/share/inform7/, or /usr/local/share/ are accepted as valid
> path to the compiler :(
>

same problem in my windows XP, :-(

jpl...@gmx.de

unread,
Aug 15, 2007, 2:13:41 PM8/15/07
to
On Aug 15, 12:20 pm, Eric Forgeot <use_form_on_webs...@anamnese.fr.st>
wrote:

> jpl...@gmx.de wrote:
> > Thanks for your interest. You can now install the first version
> > through the update site, as explained at
> >http://inform-eclipse.sourceforge.net/downloads.htmland in the manual. I

>
> I've installed the inform 7 features in eclipse, and my local installation
> of the compiler is in :
> /usr/local/share/inform7/Compilers
>
> but neither /usr/local/share/inform7/Compilers,
> nor /usr/local/share/inform7/, or /usr/local/share/ are accepted as valid
> path to the compiler :(

It is looking under <the entered location>/libexec for the inform-6*
and ni executables. I guess this will have to be changed in a later
version. Right now you can just create a libexec directory somewhere
with symlinks in it which point to these executables, then enter the
parent directory which contains libexec in the preferences.

> > I added a link to the GNOME Inform 7 project to the start page. I had
> > trouble installing it on an older Linux notebook because of all the
> > required GNOME dependencies, so I could not really check it out before
>
> if you don't mind downloading a whole livecd for trying gnome-inform, you
> can use this one :http://esclinux.tk
> The latest version has Inform 7 and gnome-inform7 in it.
>
> It has also AlanIDE which is based on Eclipse. I've tried also to install
> inform features on it, but it's probably too old because it got some
> errors.

Thanks for the hints, I didn't think about the LiveCD possibility!

jpl...@gmx.de

unread,
Aug 15, 2007, 2:20:52 PM8/15/07
to

Windows XP is another story - it has to wait until the next release (a
major roadblock is getting dumb frotz compiled for win32).

Eric Forgeot

unread,
Aug 15, 2007, 3:48:26 PM8/15/07
to
jpl...@gmx.de wrote:

> It is looking under <the entered location>/libexec for the inform-6*
> and ni executables. I guess this will have to be changed in a later
> version. Right now you can just create a libexec directory somewhere
> with symlinks in it which point to these executables, then enter the
> parent directory which contains libexec in the preferences.
>

I've done it, but I have some errors now, and can't do anything :


eclipse.buildId=M20070212-1330
java.version=1.6.0_02
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=fr_FR
Command-line arguments: -os linux -ws gtk -arch x86

Error
Wed Aug 15 19:19:40 GMT 2007
java.lang.NullPointerException

java.lang.NullPointerException
at
com.jpl.inform7.preferences.MainPreferencePage$Inform7PathEditor.doStore(MainPreferencePage.java:102)
at org.eclipse.jface.preference.FieldEditor.store(FieldEditor.java:676)
at
org.eclipse.jface.preference.FieldEditorPreferencePage.performOk(FieldEditorPreferencePage.java:336)
at
com.jpl.inform7.preferences.MainPreferencePage.performOk(MainPreferencePage.java:45)
at
org.eclipse.jface.preference.PreferenceDialog$11.run(PreferenceDialog.java:889)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.runtime.Platform.run(Platform.java:858)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:149)
at
org.eclipse.jface.preference.PreferenceDialog.okPressed(PreferenceDialog.java:869)
at
org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.okPressed(FilteredPreferenceDialog.java:376)
at
org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.okPressed(WorkbenchPreferenceDialog.java:164)
at
org.eclipse.jface.preference.PreferenceDialog.buttonPressed(PreferenceDialog.java:230)
at org.eclipse.jface.dialogs.Dialog$3.widgetSelected(Dialog.java:660)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1085)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3180)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2856)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:820)
at org.eclipse.jface.window.Window.open(Window.java:796)
at
org.eclipse.ui.internal.OpenPreferencesAction.run(OpenPreferencesAction.java:65)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:499)
at
org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:539)
at org.eclipse.jface.action.ActionContributionItem.access$
(ActionContributionItem.java:488)
at
org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:400)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1085)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3180)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2856)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1930)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1894)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:422)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)


jpl...@gmx.de

unread,
Aug 15, 2007, 5:52:03 PM8/15/07
to
On Aug 15, 9:48 pm, Eric Forgeot <use_form_on_webs...@anamnese.fr.st>
wrote:

> jpl...@gmx.de wrote:
> > It is looking under <the entered location>/libexec for the inform-6*
> > and ni executables. I guess this will have to be changed in a later
> > version. Right now you can just create a libexec directory somewhere
> > with symlinks in it which point to these executables, then enter the
> > parent directory which contains libexec in the preferences.
>
> I've done it, but I have some errors now, and can't do anything :

The advice I gave you previously was insufficient. Please upgrade to
version 1.0.1 using the Update Manager. Then specify /usr/local/share/
inform7 as the installation path in Preferences.

BTW, version 1.0.1 of Inform Feature for Eclipse now officially works
under Windows.

Eric Forgeot

unread,
Aug 15, 2007, 8:20:31 PM8/15/07
to
jpl...@gmx.de wrote:

> The advice I gave you previously was insufficient. Please upgrade to
> version 1.0.1 using the Update Manager. Then specify /usr/local/share/
> inform7 as the installation path in Preferences.

well, it's not working perfectly on my system, but it's getting better at
least ;)

I managed to begin with a project, but when I save the project, it doesn't
built correctly. I'm sorry I don't know much about Eclipse...

The test file is very empty :

"Your Story Title" by "Your Name".
testroom is a room.
testroom2 is south of testroom.
testroom3 is east of testroom.

the errors :

eclipse.buildId=M20070212-1330
java.version=1.6.0_02
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=fr_FR
Command-line arguments: -os linux -ws gtk -arch x86

Warning
Thu Aug 16 00:15:21 GMT 2007
Errors during build.

Warning
Thu Aug 16 00:15:21 GMT 2007
No match found

java.lang.IllegalStateException: No match found
at java.util.regex.Matcher.group(Matcher.java:468)
at com.jpl.inform7.builder.I7Compiler$Error.createI6(I7Compiler.java:336)
at com.jpl.inform7.builder.I7Compiler.parseI6Errors(I7Compiler.java:266)
at com.jpl.inform7.builder.I7Compiler.compile(I7Compiler.java:99)
at com.jpl.inform7.builder.I7Builder.compile(I7Builder.java:68)
at com.jpl.inform7.builder.I7Builder.incrementalBuild(I7Builder.java:152)
at com.jpl.inform7.builder.I7Builder.build(I7Builder.java:36)
at
org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:603)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:167)
at
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:201)
at
org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:230)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:233)
at
org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:252)
at
org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:285)
at
org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:154)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:217)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)


Warning
Thu Aug 16 00:15:21 GMT 2007
Errors running builder "Inform7 Project Builder" on project test.

jpl...@gmx.de

unread,
Aug 15, 2007, 9:31:08 PM8/15/07
to
On Aug 16, 2:20 am, Eric Forgeot <use_form_on_webs...@anamnese.fr.st>
wrote:

> jpl...@gmx.de wrote:
> > The advice I gave you previously was insufficient. Please upgrade to
> > version 1.0.1 using the Update Manager. Then specify /usr/local/share/
> > inform7 as the installation path in Preferences.
>
> well, it's not working perfectly on my system, but it's getting better at
> least ;)
>
> I managed to begin with a project, but when I save the project, it doesn't
> built correctly. I'm sorry I don't know much about Eclipse...

If you start Eclipse from an xterm, you should be able to see some
additional output appearing right in the console. In particular, the
exact command lines used to compile your test as well as the output
from these commands. It would be helpful if you posted them. I can't
reproduce your problem with a fresh install of Inform 7 into /usr/
local and your sample code. I think that the Inform 6 phase of the
compilation fails for some reason on your machine and that the
produced error message is not parsed correctly.

Perhaps we should move this discussion over to the the sf.net forum at
http://sourceforge.net/forum/forum.php?forum_id=723112

Eric Forgeot

unread,
Aug 16, 2007, 4:01:59 AM8/16/07
to
jpl...@gmx.de wrote:

> If you start Eclipse from an xterm, you should be able to see some
> additional output appearing right in the console. In particular, the
> exact command lines used to compile your test as well as the output

> /.../


> Perhaps we should move this discussion over to the the sf.net forum at
> http://sourceforge.net/forum/forum.php?forum_id=723112

well, it won't be necessary, in fact it was *my* mistake, I had Inform
asking for some French libraries, and I don't know why I hadn't some in the
right place (I'm not using the inform console "gui", but gnome-inform, so I
have pieces of libraries everywhere).

Now it's working correctly. The interface is o.k., but still less conveniant
than Gnome-Inform which implement most of the original IDE (at least all of
the one I'm using).

Something that could be a killer feature would be the autocompletion, I know
Eclipse can do this for other programming languages. But maybe not everyone
is using camelcase names for their VariousObjects.

I couldn't find a way to split the code source window into several windows
(like in Kate editor), is it possible ?

And do you think it could be adapted for Inform 6 projects ? It would be
useful too.


jpl...@gmx.de

unread,
Aug 16, 2007, 7:22:28 AM8/16/07
to
On Aug 16, 10:01 am, Eric Forgeot <use_form_on_webs...@anamnese.fr.st>
wrote:

> Now it's working correctly. The interface is o.k., but still less conveniant
> than Gnome-Inform which implement most of the original IDE (at least all of
> the one I'm using).

Yes, I realize that: the Inform 7 IDE, being specialized, is pre-
configured (in terms of GUI layout and available functionality) to be
convenient for the task at hand. A lot of authors' experience about
the "usual workflow" went into designing its GUI. On the other hand,
the Eclipse approach is basically "doing things the way they're done
elsewhere in Eclipse", which leaves lots of flexibility to the user.
The hope is that it will pay off in the long term in that even
unforeseen workflows can be supported well, if not optimally. That
said, some initial convenience in terms of the GUI layout could be
offered (such as an Inform 7 "perspective"). The Inform 7 IDE layout/
behavior could be emulated by default, for example.

> Something that could be a killer feature would be the autocompletion, I know
> Eclipse can do this for other programming languages. But maybe not everyone
> is using camelcase names for their VariousObjects.

Whether or not autocompletion can be implemented in large part depends
on how dynamic the typing and scoping rules of a language are. If you
have to execute the edited program to figure out the type and/or
visibility of a variable (or some other entity) at a certain location
in the source text, then intelligent autocompletion cannot be done
(Perl is a frightening example). If the language has a rigid syntax
and compile-time declared types like Java, it's much more viable.

I'm not an Inform 7 expert, but I suspect that the difficulty lies
somewhere in between Perl and Java. After all, the compiler generates
the index and that could be used to support autocompletion. I'm also
not an IF author, so contributions in form of use cases describing in
more detail at which points autocompletion would make sense for Inform
7 would be helpful.

> I couldn't find a way to split the code source window into several windows
> (like in Kate editor), is it possible ?

I don't know Kate, but you can open the same file in two editors and
position them near or above each other. The way it is done: first open
an editor, then right-click on its title and select "New Editor". This
will open the second one, but at first you will have to flip between
them and not be able to see the content of both at the same time. To
achieve that, drag the title of the second editor and release it at
the bottom or right edge of the first one.

> And do you think it could be adapted for Inform 6 projects ? It would be
> useful too.

Well, I think that an "Inform 6 Feature" would in fact be more like
another project (not so much to adapt really - a different language).
It would be beneficial for the user, of course, to have both languages
implemented in the same environment - the major selling point of
Eclipse is the GUI consistency IMHO.

Now that Inform 7 is out, do many people still use Inform 6? If so, is
it because of the accumulated prior experience, or are there some
obstacles to using Inform 7 for "serious IF work" still?

Andrew Plotkin

unread,
Aug 16, 2007, 12:30:39 PM8/16/07
to
Here, jpl...@gmx.de wrote:
>
> Well, I think that an "Inform 6 Feature" would in fact be more like
> another project (not so much to adapt really - a different
> language).

But a lot of the mechanisms will be shared -- particularly the skein
and the integrated interpreter.

> Now that Inform 7 is out, do many people still use Inform 6?

Yes.

> If so, is it because of the accumulated prior experience, or are
> there some obstacles to using Inform 7 for "serious IF work" still?

Some accumulated prior experience. And some people just don't like the
way I7 is designed.

--Z

--
"And Aholibamah bare Jeush, and Jaalam, and Korah: these were the borogoves..."
*
If the Bush administration hasn't shipped you to Syria for interrogation, it's
for one reason: they don't feel like it. Not because you're innocent.

jpl...@gmx.de

unread,
Aug 16, 2007, 3:56:09 PM8/16/07
to
On Aug 16, 6:30 pm, Andrew Plotkin <erkyr...@eblong.com> wrote:
> Here, jpl...@gmx.de wrote:
>
> > Well, I think that an "Inform 6 Feature" would in fact be more like
> > another project (not so much to adapt really - a different
> > language).
>
> But a lot of the mechanisms will be shared -- particularly the skein
> and the integrated interpreter.

That's correct. I guess that I should reflect that in modularizing the
code accordingly. I did make "launching" and "skein" into separate
plug-ins, but only based on my intuition, without really considering
the I7/I6 separation.

> > Now that Inform 7 is out, do many people still use Inform 6?
>
> Yes.
>
> > If so, is it because of the accumulated prior experience, or are
> > there some obstacles to using Inform 7 for "serious IF work" still?
>
> Some accumulated prior experience. And some people just don't like the
> way I7 is designed.

Ok, thanks for the info. I take it that no nice cross-platform IDE
exists for Inform 6 today?

sarganar

unread,
Aug 16, 2007, 5:58:18 PM8/16/07
to
On 16 ago, 16:56, jpl...@gmx.de wrote:

>
> Ok, thanks for the info. I take it that no nice cross-platform IDE
> exists for Inform 6 today?

well, exists JIF (Java editor for Inform).
http://www.slade.altervista.org/viewpage.php?page_id=1

It is very nice, I think.

0 new messages