From 88f6d03df71b9071026377f7e09eef896e782b1e Mon Sep 17 00:00:00 2001 From: Steve Eynon Date: Sun, 20 May 2018 13:10:38 +0100 Subject: [PATCH 01/23] Fixed compilation error --- com.xored.f4.search/fan/ModelElementResolver.fan | 1 - 1 file changed, 1 deletion(-) diff --git a/com.xored.f4.search/fan/ModelElementResolver.fan b/com.xored.f4.search/fan/ModelElementResolver.fan index 575be11d..3a622488 100644 --- a/com.xored.f4.search/fan/ModelElementResolver.fan +++ b/com.xored.f4.search/fan/ModelElementResolver.fan @@ -1,5 +1,4 @@ using [java]org.eclipse.dltk.core -using "[java]org.eclipse.dltk.internal.core"::SourceRange using f4parser class ModelElementResolver : IModelElementVisitor From d8df4ba154be96d1b59f14c0e0885a0616e8c2c6 Mon Sep 17 00:00:00 2001 From: Steve Eynon Date: Sun, 20 May 2018 13:10:58 +0100 Subject: [PATCH 02/23] A more correct readme --- readme.md | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/readme.md b/readme.md index 81621076..e85ea443 100644 --- a/readme.md +++ b/readme.md @@ -4,25 +4,26 @@ F4 is Eclipse-based IDE for the [Fantom programming language](http://fantom-lang.org/), which is has been (mostly) written in Fantom using F4 itself. -F4 is based on [Eclipse v4.6 Neon](https://www.eclipse.org/downloads/eclipse-packages/) with [Dynamic Languages Toolkit (DLTK) v5.5](https://eclipse.org/dltk/). +F4 is based on [Eclipse v4.6 Neon](https://www.eclipse.org/downloads/eclipse-packages/) with [Dynamic Languages Toolkit (DLTK) v5.6](https://eclipse.org/dltk/). +Pre-compiled installations of F4 may be downloaded from the [Xored website](http://www.xored.com/products/f4/). -## Compiling from Source -Most eclipse plugins are compiled Fantom pods so, interestingly, F4 can onlt be built with F4! +## Developing -Currently compiled pods are stored in plug-ins, as F4 can be built only using F4. Therefore, to work on F4 sources use the following workflow: +Most eclipse plugins are compiled Fantom pods so, interestingly, F4 can only be developed built with F4! - - Install the latest F4 IDE from [F4 Nightly Downloads](http://download.xored.com/f4/nightly/) +To setup a development environment to contribute to F4: + + - Install a recent version of [F4](http://www.xored.com/products/f4/) + - Install the DLTK v5.6 SDK from the [eclipse Update Website](http://download.eclipse.org/technology/dltk/updates-dev/5.6/) for access to the DLTK source. (Note only the `core` plugins need to be installed.) - Clone the [Fantom Runtime](http://github.com/xored/fantom-runtime) repository and import all projects - Clone this F4 repository and import all projects -Now you can modify the F4 source code and launch a new verison of F4 by running `com.xored.f4.product` as an eclipse application. - -An alternative to installing F4 is installing [eclipse v4.6 Neon](https://www.eclipse.org/downloads/eclipse-packages/) (choose the RCP package so you have eclipse SDK source) and then installing F4 features from the [F4 Stable Update Site](http://download.xored.com/f4/updates/stable/) or from the [F4 Nightly Downloads](http://download.xored.com/f4/nightly/). +Now you can modify the F4 source code and launch a new verison of F4 by running `com.xored.f4.platform.ide` as an eclipse application. -Tip: Install the [DLTK v5.5 SDK](http://download.eclipse.org/technology/dltk/updates-dev/5.5/) for DLTK source. +An alternative to installing F4 is installing [eclipse v4.6 Neon](https://www.eclipse.org/downloads/eclipse-packages/) (choose the RCP package so you have eclipse SDK source) and then installing DLTK and F4 features from the [F4 Stable Update Site](http://download.xored.com/f4/updates/stable/) or from the [F4 Nightly Downloads](http://download.xored.com/f4/nightly/). @@ -36,4 +37,4 @@ Run `mvn clean package` in the project root to build F4 as standalone product. A ## Testing -Run `mvn clean verify` in the project root to F4 and run [RCPTT](http://rcptt.xored.com/) tests. +Run `mvn clean verify` in the project root to run [RCPTT](http://rcptt.xored.com/) tests. From d7eab5e8b4e8ecffc267bed5857b52819a1690ec Mon Sep 17 00:00:00 2001 From: Steve Eynon <3326741+SlimerDude@users.noreply.github.com> Date: Wed, 30 May 2018 23:41:14 +0100 Subject: [PATCH 03/23] Tell F4 to build pods in the project root dirs --- com.xored.f4.astView/.settings/com.xored.f4.core.prefs | 3 +++ com.xored.f4.builder.ui/.settings/com.xored.f4.core.prefs | 3 +++ com.xored.f4.builder/.settings/com.xored.f4.core.prefs | 3 +++ com.xored.f4.core/.settings/com.xored.f4.core.prefs | 3 +++ com.xored.f4.debug.ui/.settings/com.xored.f4.core.prefs | 3 +++ com.xored.f4.debug/.settings/com.xored.f4.core.prefs | 3 +++ com.xored.f4.fcode.ui/.settings/com.xored.f4.core.prefs | 3 +++ com.xored.f4.fcode/.settings/com.xored.f4.core.prefs | 3 +++ .../.settings/com.xored.f4.core.prefs | 3 +++ com.xored.f4.launchEnv/.settings/com.xored.f4.core.prefs | 3 +++ com.xored.f4.launching/.settings/com.xored.f4.core.prefs | 3 +++ com.xored.f4.model/.settings/com.xored.f4.core.prefs | 3 +++ com.xored.f4.parser/.settings/com.xored.f4.core.prefs | 3 +++ com.xored.f4.pathEnv/.settings/com.xored.f4.core.prefs | 3 +++ com.xored.f4.search/.settings/com.xored.f4.core.prefs | 3 +++ com.xored.f4.testing/.settings/com.xored.f4.core.prefs | 3 +++ com.xored.f4.ui.core/.settings/com.xored.f4.core.prefs | 3 +++ com.xored.f4.ui.jdt/.settings/com.xored.f4.core.prefs | 3 +++ com.xored.f4.ui.text/.settings/com.xored.f4.core.prefs | 3 +++ 19 files changed, 57 insertions(+) create mode 100644 com.xored.f4.astView/.settings/com.xored.f4.core.prefs create mode 100644 com.xored.f4.builder.ui/.settings/com.xored.f4.core.prefs create mode 100644 com.xored.f4.builder/.settings/com.xored.f4.core.prefs create mode 100644 com.xored.f4.core/.settings/com.xored.f4.core.prefs create mode 100644 com.xored.f4.debug.ui/.settings/com.xored.f4.core.prefs create mode 100644 com.xored.f4.debug/.settings/com.xored.f4.core.prefs create mode 100644 com.xored.f4.fcode.ui/.settings/com.xored.f4.core.prefs create mode 100644 com.xored.f4.fcode/.settings/com.xored.f4.core.prefs create mode 100644 com.xored.f4.jdt.launching.ui/.settings/com.xored.f4.core.prefs create mode 100644 com.xored.f4.launchEnv/.settings/com.xored.f4.core.prefs create mode 100644 com.xored.f4.launching/.settings/com.xored.f4.core.prefs create mode 100644 com.xored.f4.model/.settings/com.xored.f4.core.prefs create mode 100644 com.xored.f4.parser/.settings/com.xored.f4.core.prefs create mode 100644 com.xored.f4.pathEnv/.settings/com.xored.f4.core.prefs create mode 100644 com.xored.f4.search/.settings/com.xored.f4.core.prefs create mode 100644 com.xored.f4.testing/.settings/com.xored.f4.core.prefs create mode 100644 com.xored.f4.ui.core/.settings/com.xored.f4.core.prefs create mode 100644 com.xored.f4.ui.jdt/.settings/com.xored.f4.core.prefs create mode 100644 com.xored.f4.ui.text/.settings/com.xored.f4.core.prefs diff --git a/com.xored.f4.astView/.settings/com.xored.f4.core.prefs b/com.xored.f4.astView/.settings/com.xored.f4.core.prefs new file mode 100644 index 00000000..922b77bb --- /dev/null +++ b/com.xored.f4.astView/.settings/com.xored.f4.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +podOutputDir=./ +useExternalBuilder=false diff --git a/com.xored.f4.builder.ui/.settings/com.xored.f4.core.prefs b/com.xored.f4.builder.ui/.settings/com.xored.f4.core.prefs new file mode 100644 index 00000000..922b77bb --- /dev/null +++ b/com.xored.f4.builder.ui/.settings/com.xored.f4.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +podOutputDir=./ +useExternalBuilder=false diff --git a/com.xored.f4.builder/.settings/com.xored.f4.core.prefs b/com.xored.f4.builder/.settings/com.xored.f4.core.prefs new file mode 100644 index 00000000..922b77bb --- /dev/null +++ b/com.xored.f4.builder/.settings/com.xored.f4.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +podOutputDir=./ +useExternalBuilder=false diff --git a/com.xored.f4.core/.settings/com.xored.f4.core.prefs b/com.xored.f4.core/.settings/com.xored.f4.core.prefs new file mode 100644 index 00000000..922b77bb --- /dev/null +++ b/com.xored.f4.core/.settings/com.xored.f4.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +podOutputDir=./ +useExternalBuilder=false diff --git a/com.xored.f4.debug.ui/.settings/com.xored.f4.core.prefs b/com.xored.f4.debug.ui/.settings/com.xored.f4.core.prefs new file mode 100644 index 00000000..922b77bb --- /dev/null +++ b/com.xored.f4.debug.ui/.settings/com.xored.f4.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +podOutputDir=./ +useExternalBuilder=false diff --git a/com.xored.f4.debug/.settings/com.xored.f4.core.prefs b/com.xored.f4.debug/.settings/com.xored.f4.core.prefs new file mode 100644 index 00000000..922b77bb --- /dev/null +++ b/com.xored.f4.debug/.settings/com.xored.f4.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +podOutputDir=./ +useExternalBuilder=false diff --git a/com.xored.f4.fcode.ui/.settings/com.xored.f4.core.prefs b/com.xored.f4.fcode.ui/.settings/com.xored.f4.core.prefs new file mode 100644 index 00000000..922b77bb --- /dev/null +++ b/com.xored.f4.fcode.ui/.settings/com.xored.f4.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +podOutputDir=./ +useExternalBuilder=false diff --git a/com.xored.f4.fcode/.settings/com.xored.f4.core.prefs b/com.xored.f4.fcode/.settings/com.xored.f4.core.prefs new file mode 100644 index 00000000..922b77bb --- /dev/null +++ b/com.xored.f4.fcode/.settings/com.xored.f4.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +podOutputDir=./ +useExternalBuilder=false diff --git a/com.xored.f4.jdt.launching.ui/.settings/com.xored.f4.core.prefs b/com.xored.f4.jdt.launching.ui/.settings/com.xored.f4.core.prefs new file mode 100644 index 00000000..922b77bb --- /dev/null +++ b/com.xored.f4.jdt.launching.ui/.settings/com.xored.f4.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +podOutputDir=./ +useExternalBuilder=false diff --git a/com.xored.f4.launchEnv/.settings/com.xored.f4.core.prefs b/com.xored.f4.launchEnv/.settings/com.xored.f4.core.prefs new file mode 100644 index 00000000..922b77bb --- /dev/null +++ b/com.xored.f4.launchEnv/.settings/com.xored.f4.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +podOutputDir=./ +useExternalBuilder=false diff --git a/com.xored.f4.launching/.settings/com.xored.f4.core.prefs b/com.xored.f4.launching/.settings/com.xored.f4.core.prefs new file mode 100644 index 00000000..922b77bb --- /dev/null +++ b/com.xored.f4.launching/.settings/com.xored.f4.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +podOutputDir=./ +useExternalBuilder=false diff --git a/com.xored.f4.model/.settings/com.xored.f4.core.prefs b/com.xored.f4.model/.settings/com.xored.f4.core.prefs new file mode 100644 index 00000000..922b77bb --- /dev/null +++ b/com.xored.f4.model/.settings/com.xored.f4.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +podOutputDir=./ +useExternalBuilder=false diff --git a/com.xored.f4.parser/.settings/com.xored.f4.core.prefs b/com.xored.f4.parser/.settings/com.xored.f4.core.prefs new file mode 100644 index 00000000..922b77bb --- /dev/null +++ b/com.xored.f4.parser/.settings/com.xored.f4.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +podOutputDir=./ +useExternalBuilder=false diff --git a/com.xored.f4.pathEnv/.settings/com.xored.f4.core.prefs b/com.xored.f4.pathEnv/.settings/com.xored.f4.core.prefs new file mode 100644 index 00000000..922b77bb --- /dev/null +++ b/com.xored.f4.pathEnv/.settings/com.xored.f4.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +podOutputDir=./ +useExternalBuilder=false diff --git a/com.xored.f4.search/.settings/com.xored.f4.core.prefs b/com.xored.f4.search/.settings/com.xored.f4.core.prefs new file mode 100644 index 00000000..922b77bb --- /dev/null +++ b/com.xored.f4.search/.settings/com.xored.f4.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +podOutputDir=./ +useExternalBuilder=false diff --git a/com.xored.f4.testing/.settings/com.xored.f4.core.prefs b/com.xored.f4.testing/.settings/com.xored.f4.core.prefs new file mode 100644 index 00000000..922b77bb --- /dev/null +++ b/com.xored.f4.testing/.settings/com.xored.f4.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +podOutputDir=./ +useExternalBuilder=false diff --git a/com.xored.f4.ui.core/.settings/com.xored.f4.core.prefs b/com.xored.f4.ui.core/.settings/com.xored.f4.core.prefs new file mode 100644 index 00000000..922b77bb --- /dev/null +++ b/com.xored.f4.ui.core/.settings/com.xored.f4.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +podOutputDir=./ +useExternalBuilder=false diff --git a/com.xored.f4.ui.jdt/.settings/com.xored.f4.core.prefs b/com.xored.f4.ui.jdt/.settings/com.xored.f4.core.prefs new file mode 100644 index 00000000..922b77bb --- /dev/null +++ b/com.xored.f4.ui.jdt/.settings/com.xored.f4.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +podOutputDir=./ +useExternalBuilder=false diff --git a/com.xored.f4.ui.text/.settings/com.xored.f4.core.prefs b/com.xored.f4.ui.text/.settings/com.xored.f4.core.prefs new file mode 100644 index 00000000..922b77bb --- /dev/null +++ b/com.xored.f4.ui.text/.settings/com.xored.f4.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +podOutputDir=./ +useExternalBuilder=false From 9723250bafad11044601b0436f66d19d1418b0c4 Mon Sep 17 00:00:00 2001 From: Steve Eynon <3326741+SlimerDude@users.noreply.github.com> Date: Wed, 30 May 2018 23:43:03 +0100 Subject: [PATCH 04/23] Save F4 launch to workspace --- com.xored.f4.platform/eclipse F4.launch | 65 +++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 com.xored.f4.platform/eclipse F4.launch diff --git a/com.xored.f4.platform/eclipse F4.launch b/com.xored.f4.platform/eclipse F4.launch new file mode 100644 index 00000000..4b3fac07 --- /dev/null +++ b/com.xored.f4.platform/eclipse F4.launch @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From ae9e287eb8195baf8de6b4dbdf3582402ddcb986 Mon Sep 17 00:00:00 2001 From: Steve Eynon <3326741+SlimerDude@users.noreply.github.com> Date: Wed, 30 May 2018 23:44:50 +0100 Subject: [PATCH 05/23] Cache resolved pods to reduce on build churn --- com.xored.f4.core/build.fan | 2 +- com.xored.f4.core/f4core.pod | Bin 155661 -> 161759 bytes .../fan/afConcurrent/LocalRef.fan | 62 ++++++++ .../fan/afConcurrent/Synchronized.fan | 147 ++++++++++++++++++ .../fan/manifest/FantomProject.fan | 65 +++++--- 5 files changed, 253 insertions(+), 23 deletions(-) create mode 100644 com.xored.f4.core/fan/afConcurrent/LocalRef.fan create mode 100644 com.xored.f4.core/fan/afConcurrent/Synchronized.fan diff --git a/com.xored.f4.core/build.fan b/com.xored.f4.core/build.fan index 449d450a..a7294c5b 100644 --- a/com.xored.f4.core/build.fan +++ b/com.xored.f4.core/build.fan @@ -5,7 +5,7 @@ class Build : build::BuildPod { podName = "f4core" summary = "Fantom Core" - srcDirs = [`fan/`, `fan/manifest/`, `fan/model/`, `fan/parser/`, `fan/selection/`, `fan/todos/`, `fan/util/`] + srcDirs = [`fan/`, `fan/afConcurrent/`, `fan/manifest/`, `fan/model/`, `fan/parser/`, `fan/selection/`, `fan/todos/`, `fan/util/`] outPodDir = `./` depends = ["sys 1.0", "f4parser 1.0", "f4model 1.0", "concurrent 1.0"] } diff --git a/com.xored.f4.core/f4core.pod b/com.xored.f4.core/f4core.pod index c1b380bdfbe9c790e6b262cf40ef058b18abaed9..1abe73fd7a73f5230f98d47c0cb29f43b1eaa639 100644 GIT binary patch delta 99434 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

rc0`HJQfh@`g>O>**T;>vX-+%*5B*dz1_`Dl1P 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

_A26N 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 diff --git a/com.xored.f4.core/fan/afConcurrent/LocalRef.fan b/com.xored.f4.core/fan/afConcurrent/LocalRef.fan new file mode 100644 index 00000000..82f08332 --- /dev/null +++ b/com.xored.f4.core/fan/afConcurrent/LocalRef.fan @@ -0,0 +1,62 @@ +using concurrent + +** Manages an Obj reference stored in 'Actor.locals' with a unique key. +const class LocalRef { + static + private const AtomicInt counter := AtomicInt(0) + + private const |->Obj?|? defFunc + + ** The qualified name this 'ThreadLocal' is stored under in 'Actor.locals'. + ** 'qname' is calculated from 'name'. + const Str qname + + ** The variable name given to the ctor. + const Str name + + ** The object held in 'Actor.locals'. If a value is not mapped when read, 'initFunc()' is + ** called to create a default object. + Obj? val { + get { + // don't set a local var if it's null! + if (!isMapped && defFunc != null) + Actor.locals[qname] = defFunc.call + return Actor.locals[qname] + } + set { Actor.locals[qname] = it } + } + + ** Creates a 'LocalRef' with given name. + ** + ** If not null, 'defFunc' is called to create a default object whenever 'val' is read and a + ** value is not mapped in 'Actor.locals'. This object is then stored and returned. + ** This allows the creation of non-const default objects in multiple threads. + ** + ** 'initFunc' must be immutable. + new makeWithFunc(Str name, |->Obj?|? defFunc := null) { + this.qname = createPrefix(name, 4) + this.name = name + this.defFunc = defFunc + } + + ** Returns 'true' if 'Actor.locals' holds an entry for this 'qname'. + Bool isMapped() { + Actor.locals.containsKey(qname) + } + + ** Removes this object from 'Actor.locals'. + Void cleanUp() { + Actor.locals[qname] = null + Actor.locals.remove(qname) + } + + // ---- Helper Methods ------------------------------------------------------------------------ + + private Str createPrefix(Str name, Int pad) { + count := counter.incrementAndGet + padded := count.toStr.padl(pad) + inter := name.contains("\${id}") ? name : "\${id}.${name}" + prefix := inter.replace("\${id}", padded) + return prefix + } +} diff --git a/com.xored.f4.core/fan/afConcurrent/Synchronized.fan b/com.xored.f4.core/fan/afConcurrent/Synchronized.fan new file mode 100644 index 00000000..24d0c6ed --- /dev/null +++ b/com.xored.f4.core/fan/afConcurrent/Synchronized.fan @@ -0,0 +1,147 @@ +using concurrent + +** Provides 'synchronized' access to blocks of code. Example usage: +** +** pre> +** syntax: fantom +** +** lock := Synchronized(ActorPool()) +** +** val := lock.synchronized |->Obj?| { +** // ... +** // important stuff +** // ... +** return 69 +** } +**

+** syntax: fantom
+** const class Example {
+** 
+**     @Inject { id="actorPoolId" } 
+**     const Synchronized lock
+** 
+**     new make(|This|in) { in(this) }
+** }
+** 
Obj?| f) {
+		// explicit call to .toImmutable() - see http://fantom.org/sidewalk/topic/1798#c12190
+		func	:= f.toImmutable
+		future 	:= actor.send([true, func].toImmutable)
+		return future	// sounds cool, huh!?
+	}
+
+	** Runs the given func asynchronously, after the given duration has elapsed.
+	** 
+	** Errs that occur within the block are logged but not rethrown unless you call 'get()' on 
+	** the returned 'Future'. 
+	** 
+	** The given func and return value must be immutable.
+	virtual Future asyncLater(Duration d, |->Obj?| f) {
+		// explicit call to .toImmutable() - see http://fantom.org/sidewalk/topic/1798#c12190
+		func	:= f.toImmutable
+		future 	:= actor.sendLater(d, [true, func].toImmutable)
+		return future	// sounds cool, huh!?
+	}
+
+	** This effectively wraps the given func in a Java 'synchronized { ... }' block and returns its
+	** calculated value. 
+	** 
+	** The given func and return value must be immutable.
+	virtual Obj? synchronized(|->Obj?| f) {
+		if (reentrant && inSync)
+			return f.call()
+
+		if (inSync)
+			throw Err("This lock is NOT re-entrant. Due to Actor semantics, nested calls to synchronized() result in a Deadlock.")
+
+		// explicit call to .toImmutable() - see http://fantom.org/sidewalk/topic/1798#c12190
+		func	:= f.toImmutable
+		future	:= actor.send([false, func].toImmutable)
+
+		try {
+			return future.get(timeout)
+		} catch (IOErr err) {
+			throw err.msg.contains("Not serializable") ? IOErr("Synchronized return type ${f.returns.signature} is not immutable or serializable", err) : err
+		}
+	}
+
+	** Returns 'true' if the current thread is running inside the synchronised Actor. E.g.:
+	**   
+	**   syntax: fantom
+	**  
+	**   lock := Synchronized(ActorPool())
+	**   lock.inSync    // --> false
+	** 
+	**   lock.synchronized |->| {
+	**     lock.inSync  // --> true
+	**     ...
+	**   }
+	Bool inSync() {
+		insync.val == true
+	}
+	
+	private Obj? receive(Obj[] msg) {
+		logErr	:= msg[0] as Bool
+		func 	:= msg[1] as |->Obj?|
+
+		insync.val = true
+		try {
+			return func.call()
+
+		} catch (Err e) {
+			// log the Err so the thread doesn't fail silently
+			if (logErr)
+				log.err("This Err is being logged to avoid it being swallowed as Errs thrown in async {...} blocks do not propagate to the calling thread.", e)
+			throw e
+
+		} finally {
+			insync.cleanUp
+		}
+	}	
+}
diff --git a/com.xored.f4.core/fan/manifest/FantomProject.fan b/com.xored.f4.core/fan/manifest/FantomProject.fan
index 61777073..96c13038 100644
--- a/com.xored.f4.core/fan/manifest/FantomProject.fan
+++ b/com.xored.f4.core/fan/manifest/FantomProject.fan
@@ -1,11 +1,3 @@
-//
-// Copyright (c) 2009 xored software, Inc.
-// Licensed under Eclipse Public License version 1.0
-//
-// History:
-//	 ivaninozemtsev Apr 19, 2010 - Initial Contribution
-//
-
 using [java]org.eclipse.core.resources::IProject
 using [java]org.eclipse.core.resources::ResourcesPlugin
 using [java]org.eclipse.jdt.core::JavaCore
@@ -22,7 +14,11 @@ using [java]org.eclipse.dltk.core::PreferencesLookupDelegate
 using [java]org.eclipse.dltk.core::IBuildpathEntry
 using [java]org.eclipse.pde.core.project::IBundleProjectDescription
 using f4model
-using concurrent
+using concurrent::AtomicBool
+using concurrent::AtomicRef
+using concurrent::Actor
+using concurrent::ActorPool
+using concurrent::Future
 
 **
 ** Models a Fantom project
@@ -30,7 +26,7 @@ using concurrent
 const class FantomProject {
 	private static const Str[] disabledDirs := ["CVS"]
 	
-	const Str		podName
+	const Str		podName 
 	const Str		summary		:= ""
 	const Version	version		:= Version.defVal
 
@@ -196,19 +192,18 @@ const class FantomProject {
 		}.map |IBuildpathEntry bp -> Uri| {
 			bp.getPath.segments[1..-1].reduce(`./`) |Uri r, Str s -> Uri| { r.plusName(s, true) }
 		}, projectDir.uri).sort
-	}
-  
+	}  
+	
 	** Returns a map of pod names to pod files.
 	Str:File resolvePods() {
-		compileEnv	:= compileEnv
-		podFiles	:= compileEnv.resolvePods.rw
+		podFiles	:= doResolvePods.rw
 		resolveErrs	= compileEnv.resolveErrs.toImmutable
 
 		// overwrite entries with workspace pods
 		FantomProjectManager.instance.listProjects.each |FantomProject p| {
 			if (podFiles.containsKey(p.podName) || rawDepends.any { it.name == p.podName })
 				podFiles[p.podName] = p.podOutFile
-		}		
+		}
 
 		// prevent errs such as "Project cannot reference itself: poo"
 		podFiles.remove(podName)
@@ -216,6 +211,33 @@ const class FantomProject {
 		return podFiles
 	}
 	
+	private const AtomicRef	dependsStrRef		:= AtomicRef()
+	private const AtomicRef	resolvePodsRef		:= AtomicRef()
+	private const AtomicRef	resolveFutureRef	:= AtomicRef()
+	private Str:File doResolvePods() {
+		// cache the resolved pods until the dependencies change
+		// this MASSIVELY reduces the F4 build churn
+		dependsStr := rawDepends.rw.sort |p1, p2| { p1.name <=> p2.name }.join("; ")
+		if (dependsStr == dependsStrRef.val)
+			return resolvePodsRef.val
+		
+		// coalesce multiple calls into one
+		future := resolveFutureRef.val as Future
+		if (future == null) {		
+			future = Synchronized(ActorPool()).async |->Obj?| {
+				pods := compileEnv.resolvePods
+				resolvePodsRef.val	= pods
+				dependsStrRef.val	= dependsStr
+				return pods
+			}
+			resolveFutureRef.val = future
+		}
+		pods := future.get
+		resolveFutureRef.val = null
+
+		return pods
+	}
+	
 	IScriptProject scriptProject() { DLTKCore.create(project) }
 	
 	IFanNamespace ns() {
@@ -226,14 +248,13 @@ const class FantomProject {
 		ProjectPrefs(this)
 	}
 	
-	private const QuickCash compileEnvRef := QuickCash(3sec) |->Obj?| { prefs.compileEnvType.make([this]) }
+	private const AtomicRef	compileEnvRef := AtomicRef()
 	CompileEnv compileEnv() {
-		// we would like to create a new Env everytime so we don't have to hook into preference change listeners
-		// but sometimes, when opening and closing projects, pod building gets thrashed, which causes more 
-		// thrashing, which causes more... etc... so we cache it for a second or two
-		// in the unlikely event this ever causes a problem, the first thing people do is refresh / rebuild the 
-		// project - so it's really a non-issue.
-		compileEnvRef.get
+		// only bother making a new one if the type / preferences change
+		// this may make a difference for FpmEnv which reads file config
+		if (compileEnvRef.val?.typeof != prefs.compileEnvType)
+			compileEnvRef.val = prefs.compileEnvType.make([this])
+		return compileEnvRef.val
 	}
 
 	

From 5a29c70083e3b7d2a4df95170f92c5049bf97817 Mon Sep 17 00:00:00 2001
From: Steve Eynon <3326741+SlimerDude@users.noreply.github.com>
Date: Thu, 31 May 2018 12:10:32 +0100
Subject: [PATCH 06/23] Use Fantom file API

---
 com.xored.f4.builder/fan/InternalBuilder.fan | 68 ++++++++------------
 1 file changed, 27 insertions(+), 41 deletions(-)

diff --git a/com.xored.f4.builder/fan/InternalBuilder.fan b/com.xored.f4.builder/fan/InternalBuilder.fan
index c6573f4f..880ad93d 100644
--- a/com.xored.f4.builder/fan/InternalBuilder.fan
+++ b/com.xored.f4.builder/fan/InternalBuilder.fan
@@ -1,14 +1,11 @@
-using f4core
-using f4launching
+using f4core::FantomProject
+using f4core::FantomProjectManager
+using f4core::LogUtil
 using compiler
-using concurrent
 
 using [java]org.eclipse.debug.core::DebugPlugin
 using [java]org.eclipse.debug.core::ILaunchConfigurationWorkingCopy
 using [java]org.eclipse.debug.core::ILaunchManager
-using [java]org.eclipse.dltk.launching::ScriptRuntime
-using [java]org.eclipse.dltk.launching::AbstractScriptLaunchConfigurationDelegate
-using [java]org.eclipse.jdt.launching::IJavaLaunchConfigurationConstants as JavaConsts
 using [java]org.eclipse.jdt.launching::IRuntimeClasspathEntry
 using [java]org.eclipse.jdt.core::JavaCore
 using [java]org.eclipse.jdt.core::IJavaProject
@@ -16,12 +13,8 @@ using [java]org.eclipse.jdt.launching::JavaRuntime
 using "[java]org.eclipse.core.externaltools.internal"::IExternalToolConstants as ExtConsts
 
 using [java]com.xored.fanide.core::FanCore
-using [java]org.eclipse.core.runtime::IPath
-using [java]org.eclipse.core.runtime::Path
 using [java]org.eclipse.core.runtime::NullProgressMonitor
-using [java]org.eclipse.core.resources::ResourcesPlugin
 using [java]org.eclipse.core.resources::IResource
-using [java]java.io::File as JFile
 using [java]java.util::HashMap as JHashMap
 
 using [java]com.xored.fanide.core::JStubGenerator
@@ -35,12 +28,14 @@ class InternalBuilder : Builder {
 	static const Str pluginId := "com.xored.f4.builder"
 	
 	override CompilerErr[] buildPod(|Str|? consumer) {
-		// Prepare temporary output directory for pod building
-		statePath	:= FanCore.getDefault.getStateLocation
-		projectPath	:= statePath.append("compiler").append(fp.podName)
-		root		:= projectPath.toFile
-		root.mkdirs
-		root.listFiles.each |JFile? f|{ f?.delete}
+		// compile pods in a temporary workdir: /.metadata/.plugins/com.xored.fanide.core/compiler//
+		pluginState	:= FanCore.getDefault.getStateLocation
+		pluginDir	:= File.os(pluginState.toOSString).normalize
+		compileDir	:= pluginDir + `compiler/${fp.podName}/`
+		
+		// make sure it's empty first
+		compileDir.create
+		compileDir.listFiles.each { it.delete }
 		
 		resolvedPods := fp.resolvePods
     
@@ -53,7 +48,7 @@ class InternalBuilder : Builder {
 		// Without this, we get compilation errors similar to "pod not found: f4parser".
 		// These aren't actual dependencies and don't seem to be transitive dependencies.
 		// Note that adding them as actual project dependencies also solves the issue,
-		// Though I don't know why I'm loath to do so - hence these 3 little lines.
+		// But because I don't know why I'm loath to do so - hence these 3 little lines.
 		FantomProjectManager.instance.listProjects.each |p| {
 			resolvedPods[p.podName] = p.podOutFile
 		}
@@ -80,7 +75,7 @@ class InternalBuilder : Builder {
 			input.baseDir			= fp.projectDir
 			input.srcFiles			= fp.srcDirs
 			input.resFiles			= fp.resDirs
-			input.outDir			= File.os(projectPath.toOSString) 
+			input.outDir			= compileDir
 			input.output			= CompilerOutputMode.podFile
 			input.jsFiles			= fp.jsDirs
 			input.meta				= meta
@@ -98,7 +93,7 @@ class InternalBuilder : Builder {
 				}
 
 			if (!fp.javaDirs.isEmpty)
-				errs.add(compileJava(consumer, projectPath, resolvedPods))
+				errs.add(compileJava(consumer, compileDir, resolvedPods))
 			
 			// Compare pod file in output directory to podFile in project and overwrite it if they are different
 			podFileName	:= `${fp.podName}.pod` 
@@ -215,43 +210,34 @@ class InternalBuilder : Builder {
 		return [caughtErrs.addAll(compiler.errs), compiler.warns]
 	}
 
-	private CompilerErr[] compileJava(|Str|? consumer, IPath projectPath, Str:File resolvedPods ) {
-		jtemp		:= projectPath.append("temp-java").toFile
-
-		jtemp.mkdirs
-		jtempPath	:= jtemp.getAbsolutePath
-		podFile		:= File.os(projectPath.append("${fp.podName}.pod").toOSString)
+	private CompilerErr[] compileJava(|Str|? consumer, File compileDir, Str:File resolvedPods) {
+		jtemp		:= compileDir + `temp-java/`
+		podFile		:= compileDir + `${fp.podName}.pod`
+		jtemp.create
 		
-		JHashMap jmap := JHashMap()
+		jmap := JHashMap()
 		resolvedPods.each |File file, Str key| {
 			jmap.put(key, file)
 		}
 		
-		JStubGenerator.generateStubs(podFile.osPath, jtemp.getAbsolutePath, jmap)
+		JStubGenerator.generateStubs(podFile.osPath, jtemp.osPath, jmap)
 		jp := JavaCore.create(fp.project)
 
 		wc := createJdkConfig("Javac configutation", "javac", jp)
-		IRuntimeClasspathEntry[] entries := JavaRuntime.computeUnresolvedRuntimeClasspath(jp)
+		entries := (IRuntimeClasspathEntry[]) JavaRuntime.computeUnresolvedRuntimeClasspath(jp)
 		entries = entries.map { JavaRuntime.resolveRuntimeClasspathEntry(it, jp) }.flatten
-		classpath := entries.map { getLocation }.add(jtempPath).join(File.pathSep)
+		classpath := entries.map { getLocation }.add(jtemp.osPath).join(File.pathSep)
 		javaFiles := listFiles(fp.javaDirs).join(" ") { "\"${it}\"" }
-		wc.setAttribute(ExtConsts.ATTR_TOOL_ARGUMENTS, "-d \"${jtempPath}\" -cp \"${classpath}\" ${javaFiles}")
+		wc.setAttribute(ExtConsts.ATTR_TOOL_ARGUMENTS, "-d \"${jtemp.osPath}\" -cp \"${classpath}\" ${javaFiles}")
 		launch(wc, consumer)
 
 		wc = createJdkConfig("Jar configuration", "jar", jp)
-		wc.setAttribute(ExtConsts.ATTR_TOOL_ARGUMENTS, "uf \"${podFile.osPath}\" -C \"${jtempPath}\" \".\"")
+		wc.setAttribute(ExtConsts.ATTR_TOOL_ARGUMENTS, "uf \"${podFile.osPath}\" -C \"${jtemp.osPath}\" \".\"")
 		launch(wc, consumer)
 		
-		|JFile file|? delFunc := null
-		delFunc = |JFile file| {
-			if (file.isDirectory) {
-				file.listFiles().each(delFunc)
-				file.delete
-			} else
-				file.delete
-		}
-		jtemp.listFiles().each(delFunc)
-		return [,]
+		jtemp.listFiles.each { it.delete }
+
+		return CompilerErr#.emptyList
 	}
 
 	private ILaunchConfigurationWorkingCopy createJdkConfig(Str name,Str exec, IJavaProject jp)	{

From e12ed0a1d1cdfe6c20c316f5236738aff3ab415a Mon Sep 17 00:00:00 2001
From: Steve Eynon <3326741+SlimerDude@users.noreply.github.com>
Date: Thu, 31 May 2018 14:12:12 +0100
Subject: [PATCH 07/23] Correct build behaviour with regards to podOutDir Have
 podOutDir in build.fan override any F4 / project settings If this was in
 place, then I wouldn't have had to add all those "com.xored.f4.core.prefs"
 files!

---
 .../fan/CompilerPreferencePage.fan            |  5 +--
 com.xored.f4.builder/fan/ExternalBuilder.fan  |  8 ++---
 com.xored.f4.builder/fan/InternalBuilder.fan  | 25 ++++++++-------
 .../fan/manifest/DefaultCompileEnv.fan        | 25 ++++++---------
 .../fan/manifest/FantomProject.fan            | 31 +++++++++----------
 com.xored.f4.pathEnv/fan/PathCompileEnv.fan   | 20 +++++-------
 6 files changed, 52 insertions(+), 62 deletions(-)

diff --git a/com.xored.f4.builder.ui/fan/CompilerPreferencePage.fan b/com.xored.f4.builder.ui/fan/CompilerPreferencePage.fan
index 8f755fbc..21cda6d7 100644
--- a/com.xored.f4.builder.ui/fan/CompilerPreferencePage.fan
+++ b/com.xored.f4.builder.ui/fan/CompilerPreferencePage.fan
@@ -40,9 +40,10 @@ class CompilerOptionsBlock : AbstractOptionsBlock {
 	override protected Control? createOptionsBlock(Composite? parent) {
 		composite := SWTFactory.createComposite(parent, parent.getFont, 2, 1, GridData.FILL_HORIZONTAL)
 
-		SWTFactory.createLabel(composite, "Pod output dir", 1)
+		SWTFactory.createLabel(composite, "Build directory", 1)
 		bindControl(SWTFactory.createSingleText(composite, 1), podOutputDir, null)
-		SWTFactory.createLabel(composite, "Directory should be relative to the project directory", 2)
+		SWTFactory.createLabel(composite, "Where pods are built, relative to the project directory.", 2)
+		SWTFactory.createLabel(composite, "The 'build.fan > podOutDir' setting (should it exist) overrides this value.", 2)
 
 		SWTFactory.createLabel(composite, "", 2)
 		bindControl(SWTFactory.createCheckButton(composite, "Use external compiler", null, false, 2), useExternalBuilderKey, null)
diff --git a/com.xored.f4.builder/fan/ExternalBuilder.fan b/com.xored.f4.builder/fan/ExternalBuilder.fan
index d2fc851f..7f64ca60 100644
--- a/com.xored.f4.builder/fan/ExternalBuilder.fan
+++ b/com.xored.f4.builder/fan/ExternalBuilder.fan
@@ -30,12 +30,12 @@ class ExternalBuilder : Builder {
 		out := launch(wc, consumer)
 		
 		newPodFile	:= fp.projectDir + `${fp.podName}.pod`
-		podFile		:= fp.podOutFile
+		oldPodFile	:= fp.podOutFile
 
 		if (newPodFile.exists) {
-			if (newPodFile.uri != podFile.uri) {
-				consumer?.call("[DEBUG] Copying pod to ${podFile.osPath}")
-				newPodFile.copyTo(podFile, ["overwrite" : true])
+			if (newPodFile.uri != oldPodFile.uri) {
+				consumer?.call("[DEBUG] Copying pod to ${oldPodFile.osPath}")
+				newPodFile.copyTo(oldPodFile, ["overwrite" : true])
 			}
 
 			if (fp.prefs.publishPod) {
diff --git a/com.xored.f4.builder/fan/InternalBuilder.fan b/com.xored.f4.builder/fan/InternalBuilder.fan
index 880ad93d..e394a3ac 100644
--- a/com.xored.f4.builder/fan/InternalBuilder.fan
+++ b/com.xored.f4.builder/fan/InternalBuilder.fan
@@ -29,6 +29,7 @@ class InternalBuilder : Builder {
 	
 	override CompilerErr[] buildPod(|Str|? consumer) {
 		// compile pods in a temporary workdir: /.metadata/.plugins/com.xored.fanide.core/compiler//
+		// if we build them in a dir that we have control over, there shouldn't be any file locking / permission errors
 		pluginState	:= FanCore.getDefault.getStateLocation
 		pluginDir	:= File.os(pluginState.toOSString).normalize
 		compileDir	:= pluginDir + `compiler/${fp.podName}/`
@@ -96,26 +97,28 @@ class InternalBuilder : Builder {
 				errs.add(compileJava(consumer, compileDir, resolvedPods))
 			
 			// Compare pod file in output directory to podFile in project and overwrite it if they are different
-			podFileName	:= `${fp.podName}.pod` 
-			newPodFile	:= input.outDir + podFileName
-			podFile		:= fp.podOutFile
+			oldPodFile	:= fp.podOutFile
+			newPodFile	:= input.outDir + `${fp.podName}.pod` 
 
 			if (newPodFile.exists) {
-				if (isPodChanged(newPodFile, podFile)) {
-					consumer?.call("[DEBUG] Copying pod to ${podFile.osPath}")
-					newPodFile.copyTo(podFile, ["overwrite" : true])
-					jp := JavaCore.create(fp.project)
-					jp.getJavaModel.refreshExternalArchives([jp], null)
-					fp.project.refreshLocal(IResource.DEPTH_INFINITE, NullProgressMonitor())
-				}
+
+				// copy pod to outDir
+				consumer?.call("[DEBUG] Copying pod to ${oldPodFile.osPath}")
+				newPodFile.copyTo(oldPodFile, ["overwrite" : true])
 
 				// sometimes we re-build just to re-publish, so don't bother checking for pod changes
 				if (fp.prefs.publishPod) {
 					consumer?.call("[DEBUG] Publishing ${newPodFile.name}...")
 					fp.compileEnv.publishPod(newPodFile)
 				}
+
+				if (isPodChanged(newPodFile, oldPodFile)) {
+					jp := JavaCore.create(fp.project)
+					jp.getJavaModel.refreshExternalArchives([jp], null)
+					fp.project.refreshLocal(IResource.DEPTH_INFINITE, NullProgressMonitor())
+				}
 				
-				newPodFile.delete
+				compileDir.delete
 			}
 			
 			return errs.flatten
diff --git a/com.xored.f4.core/fan/manifest/DefaultCompileEnv.fan b/com.xored.f4.core/fan/manifest/DefaultCompileEnv.fan
index 6c36ef7e..ff67fb54 100644
--- a/com.xored.f4.core/fan/manifest/DefaultCompileEnv.fan
+++ b/com.xored.f4.core/fan/manifest/DefaultCompileEnv.fan
@@ -40,22 +40,15 @@ const class DefaultCompileEnv : CompileEnv {
 	}
 	
 	override Void publishPod(File podFile) {
-		dstDir := null as File
-		
-		if (fanProj.publishDir != null) {
-			dstDir = (fanProj.projectDir + fanProj.publishDir).normalize
-			
-		} else {
-			if (fanProj.interpreterInstall?.getName?.endsWith("embedded") ?: false)
-				// I could, but it seems wrong to pollute a system runtime
-				// if the user knew what they were doing, they'd have their own Runtime / work dir
-				buildConsole.warn("DefaultEnv - Will not copy ${podFile.name} to an embedded Fantom Runtime - create a Work Dir instead")
-			else
-				dstDir = (fanProj.fanHomeDir + `lib/fan/`).normalize
-		}
-		if( dstDir != null) {
-			buildConsole.debug("DefaultEnv - Copying ${podFile.name} to ${dstDir.osPath}")
-			podFile.copyInto(dstDir, ["overwrite" : true])
+		if (fanProj.interpreterInstall?.getName?.endsWith("embedded") ?: false) {
+			// I could, but it seems wrong to pollute a system runtime
+			// if the user knew what they were doing, they'd have their own Runtime / work dir
+			buildConsole.warn("DefaultEnv - Will not copy ${podFile.name} to an embedded Fantom Runtime - create a Work Dir instead")
+			return
 		}
+
+		dstDir := (fanProj.fanHomeDir + `lib/fan/`).normalize
+		buildConsole.debug("DefaultEnv - Copying ${podFile.name} to ${dstDir.osPath}")
+		podFile.copyInto(dstDir, ["overwrite" : true])
 	}
 }
diff --git a/com.xored.f4.core/fan/manifest/FantomProject.fan b/com.xored.f4.core/fan/manifest/FantomProject.fan
index 96c13038..468d17d4 100644
--- a/com.xored.f4.core/fan/manifest/FantomProject.fan
+++ b/com.xored.f4.core/fan/manifest/FantomProject.fan
@@ -32,9 +32,7 @@ const class FantomProject {
 
 	const File		projectDir
 	
-	** 'podOutDir' from 'build.fan'.
-	const Uri?		publishDir
-		
+	const Uri?		podOutDir		
 	const Depend[]	rawDepends	:= Depend#.emptyList
 	const Uri[]		resDirs		:= Uri#.emptyList
 	const Uri[]		jsDirs		:= Uri#.emptyList
@@ -87,17 +85,17 @@ const class FantomProject {
 			projErrs.add(ProjectErr("Pod name is not set"))
 		}
 		
-		version			= manifest.version
-		summary			= manifest.summary
-		publishDir		= manifest.outPodDir
-		resDirs			= manifest.resDirs
-		jsDirs			= manifest.jsDirs
-		javaDirs		= manifest.javaDirs
-		meta			= manifest.meta.dup
-		index			= manifest.index.dup
-		docApi			= manifest.docApi
-		docSrc			= manifest.docSrc
-		rawDepends		= manifest.depends.reduce(Depend[,]) |Depend[] r, Str raw -> Depend[]| {
+		version		= manifest.version
+		summary		= manifest.summary
+		podOutDir	= manifest.outPodDir
+		resDirs		= manifest.resDirs
+		jsDirs		= manifest.jsDirs
+		javaDirs	= manifest.javaDirs
+		meta		= manifest.meta.dup
+		index		= manifest.index.dup
+		docApi		= manifest.docApi
+		docSrc		= manifest.docSrc
+		rawDepends	= manifest.depends.reduce(Depend[,]) |Depend[] r, Str raw -> Depend[]| {
 			depend := Depend.fromStr(raw, false)
 			if (depend != null)
 				r.add(depend)
@@ -117,9 +115,10 @@ const class FantomProject {
 		return fanHomeDir
 	}
 	
-	** The pod output file that gets built.
+	** The output pod file that gets built.
 	File podOutFile() {
-		(prefs.podOutputDir + `${podName}.pod`).normalize		
+		podDir := (podOutDir != null) ? projectDir + podOutDir : prefs.podOutputDir
+		return podDir.uri.plusSlash.plusName("${podName}.pod").toFile.normalize		
 	}
 	
 	** The 'build.fan' file.
diff --git a/com.xored.f4.pathEnv/fan/PathCompileEnv.fan b/com.xored.f4.pathEnv/fan/PathCompileEnv.fan
index a326d4a0..3be4c02d 100644
--- a/com.xored.f4.pathEnv/fan/PathCompileEnv.fan
+++ b/com.xored.f4.pathEnv/fan/PathCompileEnv.fan
@@ -32,20 +32,14 @@ const class PathCompileEnv : CompileEnv {
 	}
 
 	override Void publishPod(File podFile) {
-		dstDir := null as File
-		
-		if (fanProj.publishDir != null) {
-			dstDir = (workDirs.first + fanProj.publishDir).normalize
-			
-		} else {
-			if (workDirs.first == fanProj.fanHomeDir && (fanProj.interpreterInstall?.getName?.endsWith("embedded") ?: false))
-				// I could, but it seems wrong to pollute a system runtime
-				// if the user knew what they were doing, they'd have their own Runtime / work dir
-				buildConsole.warn("PathEnv - Will not copy ${podFile.name} to an embedded Fantom Runtime - create a Work Dir instead")
-			else
-				dstDir = (workDirs.first + `lib/fan/`).normalize
+		if (workDirs.first == fanProj.fanHomeDir && (fanProj.interpreterInstall?.getName?.endsWith("embedded") ?: false)) {
+			// I could, but it seems wrong to pollute a system runtime
+			// if the user knew what they were doing, they'd have their own Runtime / work dir
+			buildConsole.warn("PathEnv - Will not copy ${podFile.name} to an embedded Fantom Runtime - create a Work Dir instead")
+			return
 		}
-		
+
+		dstDir := (workDirs.first + `lib/fan/`).normalize			
 		buildConsole.debug("PathEnv - Copying ${podFile.name} to ${dstDir.osPath}")
 		podFile.copyInto(dstDir, ["overwrite" : true])
 	}

From c3ac332a48c1e85f3edb51dbfea430dfea644da9 Mon Sep 17 00:00:00 2001
From: Steve Eynon <3326741+SlimerDude@users.noreply.github.com>
Date: Fri, 1 Jun 2018 11:31:20 +0100
Subject: [PATCH 08/23] proj.name -> pod.dis, after talks with Andy proj.name
 is the wrong meta

---
 .../src/com/xored/fanide/core/BuildFan.java               | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/com.xored.fanide.core/src/com/xored/fanide/core/BuildFan.java b/com.xored.fanide.core/src/com/xored/fanide/core/BuildFan.java
index 03c753c8..a252b164 100644
--- a/com.xored.fanide.core/src/com/xored/fanide/core/BuildFan.java
+++ b/com.xored.fanide.core/src/com/xored/fanide/core/BuildFan.java
@@ -238,19 +238,19 @@ private static StringBuilder read(IFile file) throws CoreException,
 		}
 	}
 
-	public static String generateContent(String projName, String srcDirs, String javaDirs) {
+	public static String generateContent(String podName, String srcDirs, String javaDirs) {
 		List sb = new ArrayList();
 		sb.add("using build");
 		sb.add("");
 		sb.add("class Build : BuildPod {");
 		sb.add("");
 		sb.add("\tnew make() {");
-		sb.add("\t\tpodName = \"" + fromProjectName(projName) + "\"");
-		sb.add("\t\tsummary = \"My Awesome " + projName + " Project\"");
+		sb.add("\t\tpodName = \"" + fromProjectName(podName) + "\"");
+		sb.add("\t\tsummary = \"My Awesome " + podName + " Project\"");
 		sb.add("\t\tversion = Version(\"1.0\")");
 		sb.add("");
 		sb.add("\t\tmeta = [");
-		sb.add("\t\t\t\"proj.name\" : \"" + projName + "\"");
+		sb.add("\t\t\t\"pod.dis\" : \"" + podName + "\"");
 		sb.add("\t\t]");
 		sb.add("");
 		sb.add("\t\tdepends = [");

From 0c024bd896f3475839033f30328e93ddb0a3126a Mon Sep 17 00:00:00 2001
From: Steve Eynon <3326741+SlimerDude@users.noreply.github.com>
Date: Fri, 1 Jun 2018 12:22:04 +0100
Subject: [PATCH 09/23] Whitespace tidy

---
 .../fan/contentassist/CompletionProvider.fan  | 641 ++++++++----------
 .../contentassist/DotCompletionProvider.fan   | 244 +++----
 .../contentassist/FacetCompletionProvider.fan |  84 +--
 .../fan/contentassist/FanCompletionEngine.fan | 545 +++++++--------
 .../contentassist/FanCompletionProcessor.fan  |   6 +-
 .../contentassist/FanCompletionProposal.fan   |  17 +-
 .../FanCompletionProposalCollector.fan        |  40 +-
 .../FanCompletionProposalLabelProvider.fan    |  79 +--
 .../FanContentAssistPreference.fan            |   7 +-
 .../FanMethodCompletionProposal.fan           | 225 +++---
 .../FanMethodCompletionProposalExtraInfo.fan  |  16 +-
 .../FanOverrideCompletionProposal.fan         |  63 +-
 .../fan/contentassist/FanTextTools.fan        |  78 +--
 .../FanTypeCompletionProposalComputer.fan     |  18 +-
 .../fan/contentassist/GreedyProvider.fan      | 207 +++---
 .../contentassist/IsCompletionProvider.fan    |  60 +-
 .../contentassist/QnameCompletionProvider.fan |  77 +--
 .../fan/contentassist/StrProvider.fan         | 447 ++++++------
 .../contentassist/UsingCompletionProvider.fan |  64 +-
 19 files changed, 1328 insertions(+), 1590 deletions(-)

diff --git a/com.xored.f4.ui.text/fan/contentassist/CompletionProvider.fan b/com.xored.f4.ui.text/fan/contentassist/CompletionProvider.fan
index 7ba6bf58..d48de032 100644
--- a/com.xored.f4.ui.text/fan/contentassist/CompletionProvider.fan
+++ b/com.xored.f4.ui.text/fan/contentassist/CompletionProvider.fan
@@ -1,11 +1,3 @@
-//
-// Copyright (c) 2010 xored software, Inc.
-// Licensed under Eclipse Public License version 1.0
-//
-// History:
-//   Ivan Inozemtsev May 19, 2010 - Initial Contribution
-//
-
 using [java]org.eclipse.dltk.core::CompletionProposal
 using [java]org.eclipse.dltk.core::IModelElement
 using [java]org.eclipse.dltk.core::IMember
@@ -14,6 +6,7 @@ using [java]org.eclipse.dltk.core.model::LocalVariable
 using f4core
 using f4model
 using f4parser
+
 **************************************************************************
 ** CompletionReporter 
 **************************************************************************
@@ -23,12 +16,11 @@ using f4parser
 ** We don't create a separate Fantom class for completion proposals
 ** as it seems there is no need for that and use just DLTK CompletionProposal
 ** 
-mixin CompletionReporter
-{
-  abstract CompletionProposal create(ProposeKind kind)
-  abstract Void report(CompletionProposal proposal)
-  abstract Bool ignores(ProposeKind kind)
-  abstract Int computeCaseRelevance(Str prefix, Str name)
+mixin CompletionReporter {
+	abstract CompletionProposal create(ProposeKind kind)
+	abstract Void report(CompletionProposal proposal)
+	abstract Bool ignores(ProposeKind kind)
+	abstract Int computeCaseRelevance(Str prefix, Str name)
 }
 
 **************************************************************************
@@ -37,347 +29,296 @@ mixin CompletionReporter
 **
 ** Base class for providing completions
 **
-abstract class CompletionProvider
-{
-  protected IFanNamespace ns
-  protected Str src
-  protected CUnit unit
-  
-  protected Int? pos
-  ** word prefix, used for filtering
-  protected Str? prefix
-  protected CompletionReporter? reporter
-  
-  new make(IFanNamespace ns, Str src, CUnit unit)
-  {
-    this.ns = ns
-    this.src = src
-    this.unit = unit
-  }
+abstract class CompletionProvider {
+	protected IFanNamespace ns
+	protected Str src
+	protected CUnit unit
+	
+	protected Int? pos
+	** word prefix, used for filtering
+	protected Str? prefix
+	protected CompletionReporter? reporter
+	
+	new make(IFanNamespace ns, Str src, CUnit unit) {
+		this.ns = ns
+		this.src = src
+		this.unit = unit
+	}
 
-  **
-  ** Sets input for completion
-  ** If this particular provider is not applicable
-  ** for input, it should return false
-  ** Default implementation just sets corresponding fields
-  ** and returns true
-  ** 
-  virtual Bool setInput(Int pos, Str prefix)
-  {
-    this.pos = pos
-    this.prefix = prefix
-    return true
-  }
-  
-  **
-  ** This method provides completions for previously set input to reporter
-  ** Returns 'true' if no other providers should be called. 
-  ** Default implementation just returns false   
-  ** 
-  virtual Bool complete(CompletionReporter reporter)
-  {
-    this.reporter = reporter
-    return false
-  }
-  
-  **
-  ** Helper method to report bunch of slots
-  ** 
-  protected Void reportSlots(IFanSlot[] slots)
-  {
-    slots = slots.findAll { it.name.lower.startsWith(prefix.lower) }
-    slots.each |slot|
-    {
-      if(slot.isField) reportField(slot)
-      else if(slot.isMethod) reportMethod(slot) 
-    }
-  }
+	**
+	** Sets input for completion
+	** If this particular provider is not applicable
+	** for input, it should return false
+	** Default implementation just sets corresponding fields
+	** and returns true
+	** 
+	virtual Bool setInput(Int pos, Str prefix) {
+		this.pos = pos
+		this.prefix = prefix
+		return true
+	}
+	
+	**
+	** This method provides completions for previously set input to reporter
+	** Returns 'true' if no other providers should be called. 
+	** Default implementation just returns false	 
+	** 
+	virtual Bool complete(CompletionReporter reporter) {
+		this.reporter = reporter
+		return false
+	}
+	
+	**
+	** Helper method to report bunch of slots
+	** 
+	protected Void reportSlots(IFanSlot[] slots) {
+		slots = slots.findAll { it.name.lower.startsWith(prefix.lower) }
+		slots.each |slot| {
+			if(slot.isField) reportField(slot)
+			else if(slot.isMethod) reportMethod(slot) 
+		}
+	}
 
-  **
-  ** Helper to report field
-  ** 
-  protected Void reportField(IFanSlot field)
-  {
-    if(reporter.ignores(ProposeKind.field)) return
-    reporter.report(createProposal(ProposeKind.field, field.name, field.me, reporter.computeCaseRelevance(this.prefix, field.name)))
-  }
+	**
+	** Helper to report field
+	** 
+	protected Void reportField(IFanSlot field) {
+		if(reporter.ignores(ProposeKind.field)) return
+		reporter.report(createProposal(ProposeKind.field, field.name, field.me, reporter.computeCaseRelevance(this.prefix, field.name)))
+	}
 
-  protected Void reportMethod(IFanMethod method, Str? mname := null)
-  {
-    params := method.params
-   
-    if(reporter.ignores(ProposeKind.method)) return
+	protected Void reportMethod(IFanMethod method, Str? mname := null) {
+		params := method.params
+	 
+		if(reporter.ignores(ProposeKind.method)) return
 
-    required := params.findIndex { it.hasDefault }
-    if (required == null) { required = params.size }
+		required := params.findIndex { it.hasDefault }
+		if (required == null) { required = params.size }
 
-    for (i := required; i < params.size + 1; i++)
-    {
-      curParams := params[0..< i]
-      allRelatedParams := [curParams]
-      curParams.each |param, index| 
-      {
-        // generate all variants of Func type
-        if(ParseUtil.isFuncType(param.of))
-        {
-          relatedTypes := ParseUtil.computeRelatedFuncTypes(param.of)
-          allRelatedParamsSize := allRelatedParams.size
-          relatedTypes[1..-1].each |type|
-          {
-            for(Int j := 0; j < allRelatedParamsSize; ++j)
-            {
-              originalRelatedParams := allRelatedParams[j]
-              relatedParams := originalRelatedParams[0..-1]
-              originalParam := originalRelatedParams[index]
-              relatedParams[index] = FakeFanParam.fake(originalParam.name, 
-                  type, originalParam.hasDefault)
-              
-              allRelatedParams.add(relatedParams)
-            }
-          }
-        }
-      }
-      
-      methodName := mname != null?mname:method.name
-      allRelatedParams.each |relatedParams|
-      {
-        proposal := createProposal(ProposeKind.method, methodName, method.me, reporter.computeCaseRelevance(this.prefix, methodName))
-        proposal.setIsConstructor(method.isCtor)
-        if( method is IFfiForeigh)
-        {
-          proposal.setForeign(((IFfiForeigh)method).foreign)
-        }
-        proposal.setParameterNames(relatedParams.map{ it.name } as Str[])
-        proposal.setExtraInfo(FanMethodCompletionProposalExtraInfo(method, relatedParams))
-        reporter.report(proposal)
-      }
-    }
-  }
-  private Bool isFromStr(IFanMethod method)
-  {
-    return method.name.equals("fromStr") && method.isStatic && method.params.size == 1 && method.params[0].of.contains("Str")
-  }
+		for (i := required; i < params.size + 1; i++) {
+			curParams := params[0..< i]
+			allRelatedParams := [curParams]
+			curParams.each |param, index| {
+				// generate all variants of Func type
+				if(ParseUtil.isFuncType(param.of)) {
+					relatedTypes := ParseUtil.computeRelatedFuncTypes(param.of)
+					allRelatedParamsSize := allRelatedParams.size
+					relatedTypes[1..-1].each |type| {
+						for(Int j := 0; j < allRelatedParamsSize; ++j) {
+							originalRelatedParams := allRelatedParams[j]
+							relatedParams := originalRelatedParams[0..-1]
+							originalParam := originalRelatedParams[index]
+							relatedParams[index] = FakeFanParam.fake(originalParam.name, type, originalParam.hasDefault)
+							allRelatedParams.add(relatedParams)
+						}
+					}
+				}
+			}
+			
+			methodName := mname != null?mname:method.name
+			allRelatedParams.each |relatedParams| {
+				proposal := createProposal(ProposeKind.method, methodName, method.me, reporter.computeCaseRelevance(this.prefix, methodName))
+				proposal.setIsConstructor(method.isCtor)
+				if( method is IFfiForeigh) {
+					proposal.setForeign(((IFfiForeigh)method).foreign)
+				}
+				proposal.setParameterNames(relatedParams.map{ it.name } as Str[])
+				proposal.setExtraInfo(FanMethodCompletionProposalExtraInfo(method, relatedParams))
+				reporter.report(proposal)
+			}
+		}
+	}
 
-  protected Void reportPodTypes(IFanPod? pod, Bool constructors := false)
-  {
-    if(pod == null || reporter.ignores(ProposeKind.type)) return
-    pod.typeNames
-      .findAll { it.lower.startsWith(prefix.lower) }
-      .each {
-        if(constructors && !reporter.ignores(ProposeKind.method) && it.lower.startsWith(prefix.lower)) {
-          IFanType? type := pod.findType(it)
-          if( type != null)
-          {
-            added := false
-            type.methods.each { 
-              if( it.isCtor|| isFromStr(it))
-              {
-                added = true
-                if( it.name != "make" && it.name != "fromStr")
-                  reportMethod(it, type.name + "." + it.name)
-                else
-                  reportMethod(it, type.name)
-              }
-            }
-            if( !added)
-            {
-              reportType(type)
-            }
-          }
-        }
-        else {
-          if( prefix.equals(it))
-          {
-            // Constructors
-            IFanType? type := pod.findType(it)
-            if( type != null)
-            {
-              added := false
-              type.methods.each { 
-                if( it.isCtor|| isFromStr(it))
-                {
-                  added = true
-                  if( it.name != "make" && it.name != "fromStr")
-                    reportMethod(it, type.name + "." + it.name)
-                  else
-                    reportMethod(it, type.name)
-                }
-              }
-              if( !added)
-              {
-                reportType(type)
-              }
-            }
-          }
-          else {
-            reportType(pod.findType(it))
-          }
-        }
-      }
-  }
-  
-  protected Void reportNsTypes(Bool constructors := false)
-  {
-    if(reporter.ignores(ProposeKind.type)) return
-    availablePods := [,]
-    
-    unit.usings.each {
-      pName := it.podName.text
-      if( pName.startsWith("[java]")) {
-        pName = pName[6..-1]
-      }
-      availablePods.add(pName)
-    }
-    availablePods.add(ns.currPod.name)
-    availablePods.add("sys")
-    
-    ns.podNames.each
-    {
-      //if( availablePods.contains(it))
-        reportPodTypes(ns.findPod(it), constructors)
-    }
-  }
-  
-  protected Void reportUsings(Bool constructors := false)
-  {
-    unit.usings.each { 
-      ffiPod := it.podName.text.startsWith("[")
-      if( it.typeName != null && it.typeName.resolvedType != null )
-      {
-        Str? tname := (it.asTypeName != null)?it.asTypeName.text:it.typeName.text
-        if( tname != null) 
-        {
-          if( tname.lower.startsWith(prefix.lower))
-          {
-            if(constructors || prefix.equals(tname)) 
-            {
-              it.typeName.resolvedType.methods.each { 
-                if( it.isCtor || isFromStr(it))
-                {
-                  if( (it.name != "make" && it.name != "fromStr")&& !ffiPod)
-                    reportMethod(it, tname + "." + it.name)
-                  else
-                    reportMethod(it, tname)
-                }
-              }
-            }
-            else if( !reporter.ignores(ProposeKind.type)) {
-              reporter.report(createProposal(ProposeKind.type, tname , it.typeName.resolvedType.me, reporter.computeCaseRelevance(this.prefix, tname)))
-            }
-          }
-        }
-      }
-      else if( !ns.podNames.contains(it.podName.text))
-      {
-        if( it.podName.modelPod != null )
-        {
-          modelpod := it.podName.modelPod
-          types := modelpod.typeNames
-          types.each {
-            if( it.lower.startsWith(prefix.lower))
-            {
-              type := modelpod.findType(it)
-              if( type != null ) {
-                if(constructors || prefix.equals(it)) 
-                {
-                  type.methods.each { 
-                    if( it.isCtor|| isFromStr(it))
-                    {
-                      if( (it.name != "make" && it.name != "fromStr")&& !ffiPod)
-                        reportMethod(it, type.name + "." + it.name)
-                      else
-                        reportMethod(it, type.name)
-                    }
-                  }
-                }
-                else if( !reporter.ignores(ProposeKind.type)) {
-                  reporter.report(createProposal(ProposeKind.type, it , type.me, reporter.computeCaseRelevance(this.prefix, it)))
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  
-  protected Void reportPod(IFanPod? pod)
-  {
-    if(pod == null) return
-    if(reporter.ignores(ProposeKind.pod)) return
-    reporter.report(createProposal(ProposeKind.pod, pod.name, null, reporter.computeCaseRelevance(this.prefix, pod.name)))
-  }
-  
-  protected Void reportNsPods()
-  {
-    if(reporter.ignores(ProposeKind.pod)) return
-    ns.podNames.each 
-    {
-      if(it.lower.startsWith(prefix.lower) && it != ns.currPod.name)
-        reportPod(ns.findPod(it)) 
-    }
-  }
-  
-  protected Void reportType(IFanType type)
-  {
-    if(reporter.ignores(ProposeKind.type)) return
-    
-    reporter.report(createProposal(ProposeKind.type, type.name, type.me, reporter.computeCaseRelevance(this.prefix, type.name)))
-  }
-  
-  protected Void reportLocal(Str name, Str? type := null, IModelElement? parent := null)
-  {    
-    if(reporter.ignores(ProposeKind.var) || !name.lower.startsWith(prefix.lower)) return
-    if(type == null || parent == null)
-    {
-      reporter.report(createProposal(ProposeKind.var, name, null, reporter.computeCaseRelevance(this.prefix, name)))
-      return
-    }
-    
-    // TODO: set actual declaration location and name location
-    locaVar := LocalVariable(
-        parent, //parent
-        name, //name
-        -1, -1, //declaration location
-        -1, -1, //name location
-        type
-        )
-    
-    reporter.report(createProposal(ProposeKind.var, name, locaVar, reporter.computeCaseRelevance(this.prefix, name)))
-  }
-  
-  protected Void reportKeywords(Str[] keywords)
-  {
-    if(reporter.ignores(ProposeKind.keyword)) return
-    keywords.each |kw|
-    {
-      if(!kw.lower.startsWith(prefix.lower)) return
-      reporter.report(createProposal(ProposeKind.keyword, kw, null, reporter.computeCaseRelevance(this.prefix, kw)))
-    }
-  }
-  
-  protected Void reportDefaultCtor()
-  {
-    if(!"make".startsWith(prefix.lower)) return
-    if(reporter.ignores(ProposeKind.method)) return
-    proposal := createProposal(ProposeKind.field, "make", null, reporter.computeCaseRelevance(this.prefix, "make"))
-    proposal.setIsConstructor(true)
-    proposal.setFlags(FanModifiers.AccPublic)
-    reporter.report(proposal)
-  }
+	private Bool isFromStr(IFanMethod method) {
+		return method.name.equals("fromStr") && method.isStatic && method.params.size == 1 && method.params[0].of.contains("Str")
+	}
 
-  protected CompletionProposal createProposal(ProposeKind kind, Str name, IModelElement? me := null, Int relevance := 0)
-  {
-    proposal := reporter.create(kind)
-    proposal.setName(name)
-    proposal.setCompletion(name)
-    proposal.setRelevance(kind.relevance.val + relevance)
-    proposal.setModelElement(me)
-    if(me is IMember) 
-    {
-      proposal.setFlags((me as IMember).getFlags)
-    }
-    return proposal
-  }
-}
+	protected Void reportPodTypes(IFanPod? pod, Bool constructors := false) {
+		if(pod == null || reporter.ignores(ProposeKind.type)) return
+		pod.typeNames
+			.findAll { it.lower.startsWith(prefix.lower) }
+			.each {
+				if (constructors && !reporter.ignores(ProposeKind.method) && it.lower.startsWith(prefix.lower)) {
+					IFanType? type := pod.findType(it)
+					if (type != null) {
+						added := false
+						type.methods.each { 
+							if (it.isCtor|| isFromStr(it)) {
+								added = true
+								if( it.name != "make" && it.name != "fromStr")
+									reportMethod(it, type.name + "." + it.name)
+								else
+									reportMethod(it, type.name)
+							}
+						}
+						if( !added) {
+							reportType(type)
+						}
+					}
+				}
+				else {
+					if (prefix.equals(it)) {
+						// Constructors
+						IFanType? type := pod.findType(it)
+						if( type != null) {
+							added := false
+							type.methods.each { 
+								if( it.isCtor|| isFromStr(it)) {
+									added = true
+									if( it.name != "make" && it.name != "fromStr")
+										reportMethod(it, type.name + "." + it.name)
+									else
+										reportMethod(it, type.name)
+								}
+							}
+							if (!added) {
+								reportType(type)
+							}
+						}
+					}
+					else {
+						reportType(pod.findType(it))
+					}
+				}
+			}
+	}
+	
+	protected Void reportNsTypes(Bool constructors := false) {
+		if(reporter.ignores(ProposeKind.type)) return
+		availablePods := [,]
+		
+		unit.usings.each {
+			pName := it.podName.text
+			if( pName.startsWith("[java]")) {
+				pName = pName[6..-1]
+			}
+			availablePods.add(pName)
+		}
+		availablePods.add(ns.currPod.name)
+		availablePods.add("sys")
+		
+		ns.podNames.each {
+			//if( availablePods.contains(it))
+				reportPodTypes(ns.findPod(it), constructors)
+		}
+	}
+	
+	protected Void reportUsings(Bool constructors := false) {
+		unit.usings.each { 
+			ffiPod := it.podName.text.startsWith("[")
+			if (it.typeName != null && it.typeName.resolvedType != null ) {
+				Str? tname := (it.asTypeName != null)?it.asTypeName.text:it.typeName.text
+				if (tname != null) {
+					if (tname.lower.startsWith(prefix.lower)) {
+						if (constructors || prefix.equals(tname)) {
+							it.typeName.resolvedType.methods.each { 
+								if (it.isCtor || isFromStr(it)) {
+									if ((it.name != "make" && it.name != "fromStr") && !ffiPod)
+										reportMethod(it, tname + "." + it.name)
+									else
+										reportMethod(it, tname)
+								}
+							}
+						}
+						else if (!reporter.ignores(ProposeKind.type)) {
+							reporter.report(createProposal(ProposeKind.type, tname , it.typeName.resolvedType.me, reporter.computeCaseRelevance(this.prefix, tname)))
+						}
+					}
+				}
+			}
+			else if (!ns.podNames.contains(it.podName.text)) {
+				if (it.podName.modelPod != null ) {
+					modelpod := it.podName.modelPod
+					types := modelpod.typeNames
+					types.each {
+						if( it.lower.startsWith(prefix.lower)) {
+							type := modelpod.findType(it)
+							if (type != null ) {
+								if (constructors || prefix.equals(it)) {
+									type.methods.each { 
+										if (it.isCtor|| isFromStr(it)) {
+											if ((it.name != "make" && it.name != "fromStr") && !ffiPod)
+												reportMethod(it, type.name + "." + it.name)
+											else
+												reportMethod(it, type.name)
+										}
+									}
+								}
+								else if (!reporter.ignores(ProposeKind.type)) {
+									reporter.report(createProposal(ProposeKind.type, it , type.me, reporter.computeCaseRelevance(this.prefix, it)))
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+	}
+	
+	protected Void reportPod(IFanPod? pod) {
+		if (pod == null) return
+		if (reporter.ignores(ProposeKind.pod)) return
+		reporter.report(createProposal(ProposeKind.pod, pod.name, null, reporter.computeCaseRelevance(this.prefix, pod.name)))
+	}
+	
+	protected Void reportNsPods() {
+		if (reporter.ignores(ProposeKind.pod)) return
+		ns.podNames.each {
+			if(it.lower.startsWith(prefix.lower) && it != ns.currPod.name)
+				reportPod(ns.findPod(it)) 
+		}
+	}
+	
+	protected Void reportType(IFanType type) {
+		if (reporter.ignores(ProposeKind.type)) return
+		reporter.report(createProposal(ProposeKind.type, type.name, type.me, reporter.computeCaseRelevance(this.prefix, type.name)))
+	}
+	
+	protected Void reportLocal(Str name, Str? type := null, IModelElement? parent := null) {		
+		if (reporter.ignores(ProposeKind.var) || !name.lower.startsWith(prefix.lower)) return
+		if (type == null || parent == null) {
+			reporter.report(createProposal(ProposeKind.var, name, null, reporter.computeCaseRelevance(this.prefix, name)))
+			return
+		}
+		
+		// TODO: set actual declaration location and name location
+		locaVar := LocalVariable(
+				parent, //parent
+				name, //name
+				-1, -1, //declaration location
+				-1, -1, //name location
+				type
+				)
+		
+		reporter.report(createProposal(ProposeKind.var, name, locaVar, reporter.computeCaseRelevance(this.prefix, name)))
+	}
+	
+	protected Void reportKeywords(Str[] keywords) {
+		if (reporter.ignores(ProposeKind.keyword)) return
+		keywords.each |kw| {
+			if (!kw.lower.startsWith(prefix.lower)) return
+			reporter.report(createProposal(ProposeKind.keyword, kw, null, reporter.computeCaseRelevance(this.prefix, kw)))
+		}
+	}
+	
+	protected Void reportDefaultCtor() {
+		if (!"make".startsWith(prefix.lower)) return
+		if (reporter.ignores(ProposeKind.method)) return
+		proposal := createProposal(ProposeKind.field, "make", null, reporter.computeCaseRelevance(this.prefix, "make"))
+		proposal.setIsConstructor(true)
+		proposal.setFlags(FanModifiers.AccPublic)
+		reporter.report(proposal)
+	}
 
+	protected CompletionProposal createProposal(ProposeKind kind, Str name, IModelElement? me := null, Int relevance := 0) {
+		proposal := reporter.create(kind)
+		proposal.setName(name)
+		proposal.setCompletion(name)
+		proposal.setRelevance(kind.relevance.val + relevance)
+		proposal.setModelElement(me)
+		if (me is IMember) {
+			proposal.setFlags((me as IMember).getFlags)
+		}
+		return proposal
+	}
+}
diff --git a/com.xored.f4.ui.text/fan/contentassist/DotCompletionProvider.fan b/com.xored.f4.ui.text/fan/contentassist/DotCompletionProvider.fan
index 72d30e8b..750541ec 100644
--- a/com.xored.f4.ui.text/fan/contentassist/DotCompletionProvider.fan
+++ b/com.xored.f4.ui.text/fan/contentassist/DotCompletionProvider.fan
@@ -1,145 +1,123 @@
-//
-// Copyright (c) 2010 xored software, Inc.
-// Licensed under Eclipse Public License version 1.0
-//
-// History:
-//   Ivan Inozemtsev May 19, 2010 - Initial Contribution
-//
-
 using f4parser
 using f4model
+
 **
 ** This class provides completion after "?->", "->", "?.", ".", or "#"
 ** 
-class DotCompletionProvider : CompletionProvider
-{
-  //////////////////////////////////////////////////////////////////////////
-  // Constructor and overrides
-  //////////////////////////////////////////////////////////////////////////
-  new make(IFanNamespace ns, Str str, CUnit unit) : super(ns, str, unit) {}
-  
+class DotCompletionProvider : CompletionProvider {
+	//////////////////////////////////////////////////////////////////////////
+	// Constructor and overrides
+	//////////////////////////////////////////////////////////////////////////
+	new make(IFanNamespace ns, Str str, CUnit unit) : super(ns, str, unit) {}
 
-  override Bool setInput(Int pos, Str prefix)
-  {
-    super.setInput(pos, prefix)
-    preceding := src[0..pos] 
-    ending := endings.find { preceding.endsWith(it) }
-    if(ending == null) return false
-    isPound = ending == "#"
-    
-    //TODO: improve, looks too similar to magic now
-    esize := ending.size
-    nodePos := pos - esize //+ (prefix.isEmpty ? 1 : 0)
-    path = AstFinder.find(unit, nodePos)
-    if( path.last is Literal && ((Literal)path.last).id == ExprId.strLiteral &&  path.last.end > pos) return false
-    
-    if(path.last is CType) return true
-    if(path.last is Expr) return true
-    // Skipt completion from using
-    if( path.findLast(UsingDef#) != null) return false
-    
-    Expr? callExpr := path.findLast(CallExpr#)
-    if(callExpr == null) return false
-    
-    path = AstPath(path.nodes[0..path.nodes.index(callExpr)], callExpr.start)
-    return true
-    //return false
-  }
-  
-  override Bool complete(CompletionReporter reporter)
-  {
-    super.complete(reporter)
-    
-    IFanType? type := getType(path)
-    if(type == null)
-    {
-      typeof.pod.log.warn("${src[path.last.start..path.last.end]} can't be resolved, prefix - $prefix")
-      return true
-    }
-    
-    if(type.qname == "sys::Void") return true //no slots
-    slots := type.allSlots(ns).findAll(filter)
+	override Bool setInput(Int pos, Str prefix) {
+		super.setInput(pos, prefix)
+		preceding := src[0..pos] 
+		ending := endings.find { preceding.endsWith(it) }
+		if (ending == null) return false
+		isPound = ending == "#"
+		
+		//TODO: improve, looks too similar to magic now
+		esize := ending.size
+		nodePos := pos - esize //+ (prefix.isEmpty ? 1 : 0)
+		path = AstFinder.find(unit, nodePos)
+		if (path.last is Literal && ((Literal)path.last).id == ExprId.strLiteral &&	path.last.end > pos) return false
+		
+		if (path.last is CType) return true
+		if (path.last is Expr) return true
+		// skip completion from using
+		if (path.findLast(UsingDef#) != null) return false
+		
+		Expr? callExpr := path.findLast(CallExpr#)
+		if(callExpr == null) return false
+		
+		path = AstPath(path.nodes[0..path.nodes.index(callExpr)], callExpr.start)
+		return true
+	}
+	
+	override Bool complete(CompletionReporter reporter) {
+		super.complete(reporter)
+		
+		IFanType? type := getType(path)
+		if (type == null) {
+			typeof.pod.log.warn("${src[path.last.start..path.last.end]} can't be resolved, prefix - $prefix")
+			return true
+		}
+		
+		if (type.qname == "sys::Void") return true //no slots
+		slots := type.allSlots(ns).findAll(filter)
 
-    // TODO Ivan Inozemtsev: StrProvider should be reworked to support this filtering logic too
-    TypeDef? thisType := path.findLast(TypeDef#)
-    if(thisType != null) {
-      thisQname := "$this.ns.currPod.name::$thisType.name.text"
-      thatQname := type.qname
+		// TODO Ivan Inozemtsev: StrProvider should be reworked to support this filtering logic too
+		TypeDef? thisType := path.findLast(TypeDef#)
+		if (thisType != null) {
+			thisQname := "$this.ns.currPod.name::$thisType.name.text"
+			thatQname := type.qname
 
-      if (thisQname != thatQname) {
-        slots = slots.exclude { it.isPrivate }
-      }
-    }
+			if (thisQname != thatQname) {
+				slots = slots.exclude { it.isPrivate }
+			}
+		}
 
-    reportSlots(slots)
+		reportSlots(slots)
 
-    if(isStatic && !slots.any { it.isCtor })
-      reportDefaultCtor
-    
-    return true
-  }
-  
-  private Node getNode(AstPath path) {
-    if (!isPound) {
-      slotLiteral := path.findLast(SlotLiteral#) as SlotLiteral
-      if(slotLiteral != null) return slotLiteral
-//      if(prefix != "") {
-//        return  path[-2]
-//      }
-      if( path.last is InvokeExpr)
-      {
-        InvokeExpr expr := path.last
-        if(expr.caller.start > pos)
-        {
-          return expr.callee
-        }
-      }
-    }
-    return path.last
-  }
-  private IFanType? getType(AstPath path)
-  {
-    try
-    {
-      return getNode(path)->resolvedType
-    }
-    catch(UnknownSlotErr e)
-    {
-      // Ignore. Assume not correct parsed node
-    }
-    return null
-  }
-  
-  
-  
-  //////////////////////////////////////////////////////////////////////////
-  // Private fields and methods
-  //////////////////////////////////////////////////////////////////////////
-  
-  
-  **
-  ** The order of elements in this list does make sence:
-  ** Elements length should be decreasing (so we correctly define
-  ** full ending)
-  ** 
-  public static const Str[] endings := Str["?->", "->", "?.", ".", "#"]
-  
-  ** path to node preceding to completion position
-  private AstPath? path
-  private Bool isPound 
-  **
-  ** True if we should complete only static methods and constructors
-  ** 
-  private Bool isStatic()
-  {
-    node := getNode(path)
-    return node is StaticTargetExpr || node is CType
-  }
+		if (isStatic && !slots.any { it.isCtor })
+			reportDefaultCtor
+		
+		return true
+	}
+	
+	private Node getNode(AstPath path) {
+		if (!isPound) {
+			slotLiteral := path.findLast(SlotLiteral#) as SlotLiteral
+			if (slotLiteral != null) return slotLiteral
+//			if (prefix != "") {
+//				return	path[-2]
+//			}
+			if (path.last is InvokeExpr) {
+				InvokeExpr expr := path.last
+				if (expr.caller.start > pos) {
+					return expr.callee
+				}
+			}
+		}
+		return path.last
+	}
+	private IFanType? getType(AstPath path) {
+		try {
+			return getNode(path)->resolvedType
+		} catch (UnknownSlotErr e) {
+			// Ignore. Assume not correct parsed node
+		}
+		return null
+	}
+	
+	
+	
+	//////////////////////////////////////////////////////////////////////////
+	// Private fields and methods
+	//////////////////////////////////////////////////////////////////////////
+	
+	**
+	** The order of elements in this list does make sence:
+	** Elements length should be decreasing (so we correctly define
+	** full ending)
+	** 
+	public static const Str[] endings := Str["?->", "->", "?.", ".", "#"]
+	
+	** path to node preceding to completion position
+	private AstPath? path
+	private Bool isPound 
+	**
+	** True if we should complete only static methods and constructors
+	** 
+	private Bool isStatic() {
+		node := getNode(path)
+		return node is StaticTargetExpr || node is CType
+	}
 
-  private |IFanSlot->Bool| filter()
-  {
-    isPound ? |IFanSlot slot->Bool| { true } :
-    (isStatic ? |IFanSlot slot->Bool| { slot.isStatic || slot.isCtor } :
-      |IFanSlot slot->Bool| { !slot.isStatic && !slot.isCtor })
-  }
+	private |IFanSlot->Bool| filter() {
+		isPound ? |IFanSlot slot->Bool| { true } :
+		(isStatic ? |IFanSlot slot->Bool| { slot.isStatic || slot.isCtor } :
+			|IFanSlot slot->Bool| { !slot.isStatic && !slot.isCtor })
+	}
 }
\ No newline at end of file
diff --git a/com.xored.f4.ui.text/fan/contentassist/FacetCompletionProvider.fan b/com.xored.f4.ui.text/fan/contentassist/FacetCompletionProvider.fan
index 61d4d704..bbf4494b 100644
--- a/com.xored.f4.ui.text/fan/contentassist/FacetCompletionProvider.fan
+++ b/com.xored.f4.ui.text/fan/contentassist/FacetCompletionProvider.fan
@@ -1,54 +1,44 @@
-//
-// Copyright (c) 2010 xored software, Inc.
-// Licensed under Eclipse Public License version 1.0
-//
-// History:
-//   Ivan Inozemtsev May 19, 2010 - Initial Contribution
-//
-
 using f4core
 using f4model
 using f4parser
+
 **
 ** This provider works when we completing something after "::"
 **
-class FacetCompletionProvider : CompletionProvider
-{
-  //////////////////////////////////////////////////////////////////////////
-  // Constructor and overrides
-  //////////////////////////////////////////////////////////////////////////
-  new make(IFanNamespace ns, Str src, CUnit unit) : super(ns, src, unit) {}
-  
-  override Bool setInput(Int pos, Str prefix)
-  {
-    super.setInput(pos, prefix)
-    path = AstFinder.find(unit, pos)
-    if( path.last is FacetDef) return true
-    return false
-  }
-  
-  override Bool complete(CompletionReporter reporter)
-  {
-    super.complete(reporter)
-    ns.podNames.each
-    {
-      //if( availablePods.contains(it))
-      pod := ns.findPod(it)
-      pod.typeNames.findAll { it.lower.startsWith(prefix.lower) } .each {
-        IFanType? type := pod.findType(it)
-        if( type != null)
-        {
-          if( type.isFacet)
-          {
-            reportType(type)
-          }
-        }
-      }
-    }
-    return true
-  }
-  //////////////////////////////////////////////////////////////////////////
-  // Provider-spefific privates
-  //////////////////////////////////////////////////////////////////////////
-  private AstPath? path
+class FacetCompletionProvider : CompletionProvider {
+
+	//////////////////////////////////////////////////////////////////////////
+	// Constructor and overrides
+	//////////////////////////////////////////////////////////////////////////
+
+	new make(IFanNamespace ns, Str src, CUnit unit) : super(ns, src, unit) {}
+	
+	override Bool setInput(Int pos, Str prefix) {
+		super.setInput(pos, prefix)
+		path = AstFinder.find(unit, pos)
+		if (path.last is FacetDef) return true
+		return false
+	}
+	
+	override Bool complete(CompletionReporter reporter) {
+		super.complete(reporter)
+		ns.podNames.each {
+			//if( availablePods.contains(it))
+			pod := ns.findPod(it)
+			pod.typeNames.findAll { it.lower.startsWith(prefix.lower) } .each {
+				IFanType? type := pod.findType(it)
+				if (type != null) {
+					if (type.isFacet) {
+						reportType(type)
+					}
+				}
+			}
+		}
+		return true
+	}
+
+	//////////////////////////////////////////////////////////////////////////
+	// Provider-spefific privates
+	//////////////////////////////////////////////////////////////////////////
+	private AstPath? path
 }
diff --git a/com.xored.f4.ui.text/fan/contentassist/FanCompletionEngine.fan b/com.xored.f4.ui.text/fan/contentassist/FanCompletionEngine.fan
index 9fed0747..ea350c2e 100644
--- a/com.xored.f4.ui.text/fan/contentassist/FanCompletionEngine.fan
+++ b/com.xored.f4.ui.text/fan/contentassist/FanCompletionEngine.fan
@@ -1,11 +1,3 @@
-//
-// Copyright (c) 2009-2010 xored software, Inc.
-// Licensed under Eclipse Public License version 1.0
-//
-// History:
-//   Alexey Alexandrov Apr 14, 2010 - Initial Contribution
-//
-
 using [java]org.eclipse.dltk.codeassist
 using [java]org.eclipse.dltk.compiler.env::IModuleSource
 using [java]org.eclipse.dltk.core
@@ -19,16 +11,16 @@ using f4core
 **************************************************************************
 
 ** Represents relevance for completion proposals
-enum class Relevance
-{
-  freeSpace(100000),
-  pod(100000),
-  keyword(1000000),
-  type(2000000),
-  method(10000000),
-  var(100000000)
-  const Int val
-  private new make(Int val) { this.val = val }
+enum class Relevance {
+	freeSpace	(100000),
+	pod			(100000),
+	keyword		(1000000),
+	type		(2000000),
+	method		(10000000),
+	var			(100000000);
+
+	const Int val
+	private new make(Int val) { this.val = val }
 }
 
 **************************************************************************
@@ -36,293 +28,248 @@ enum class Relevance
 **************************************************************************
 
 ** Enum with kinds of proposed completions
-enum class ProposeKind
-{
-  method(CompletionProposal.METHOD_REF, Relevance.method),
-  keyword(CompletionProposal.KEYWORD, Relevance.keyword),
-  pod(CompletionProposal.PACKAGE_REF, Relevance.pod),
-  var(CompletionProposal.LOCAL_VARIABLE_REF, Relevance.var),
-  type(CompletionProposal.TYPE_REF, Relevance.type),
-  field(CompletionProposal.FIELD_REF, Relevance.var)
-  
-  const Int val
-  const Relevance relevance
-  private new make(Int val, Relevance relevance) 
-  { 
-    this.val = val 
-    this.relevance = relevance
-  }
+enum class ProposeKind {
+	method	(CompletionProposal.METHOD_REF,			Relevance.method),
+	keyword	(CompletionProposal.KEYWORD,			Relevance.keyword),
+	pod		(CompletionProposal.PACKAGE_REF,		Relevance.pod),
+	var		(CompletionProposal.LOCAL_VARIABLE_REF,	Relevance.var),
+	type	(CompletionProposal.TYPE_REF,			Relevance.type),
+	field	(CompletionProposal.FIELD_REF,			Relevance.var)
+	
+	const Int val
+	const Relevance relevance
+
+	private new make(Int val, Relevance relevance) { 
+		this.val = val 
+		this.relevance = relevance
+	}
 }
 
 **************************************************************************
 ** FanCompletionEngine
 **************************************************************************
-class FanCompletionEngine : ScriptCompletionEngine, CompletionReporter
-{  
-  override Int computeCaseRelevance(Str prefix, Str name) {
-    return computeRelevanceForCaseMatching(InteropUtil.toCharArray(prefix.chars), name)
-  }
-  
-  ** Type inferencer timeout
-  //private static const Int TI_TIMEOUT := 2000
-  
-  override Void complete(IModuleSource? sourceModule, Int pos, Int ii)
-  {
-    this.actualCompletionPosition = pos--
-    PerformanceNode rpm := RuntimePerformanceMonitor.begin
-    this.requestor.beginReporting
-    
-    ns := ParseUtil.ns((ISourceModule)sourceModule)
-    cunit := ParseUtil.parse((ISourceModule)sourceModule)
-    content := sourceModule.getSourceContents
+class FanCompletionEngine : ScriptCompletionEngine, CompletionReporter {	
+	override Int computeCaseRelevance(Str prefix, Str name) {
+		return computeRelevanceForCaseMatching(InteropUtil.toCharArray(prefix.chars), name)
+	}
+	
+	** Type inferencer timeout
+	//private static const Int TI_TIMEOUT := 2000
+	
+	override Void complete(IModuleSource? sourceModule, Int pos, Int ii) {
+		this.actualCompletionPosition = pos--
+		PerformanceNode rpm := RuntimePerformanceMonitor.begin
+		this.requestor.beginReporting
+		
+		ns := ParseUtil.ns((ISourceModule)sourceModule)
+		cunit := ParseUtil.parse((ISourceModule)sourceModule)
+		content := sourceModule.getSourceContents
+
+		try {
+			
+			wordStarting := ParseUtil.wordStart(content, pos)
+			//echo("pos - $pos, wordStarting - $wordStarting")
+			if (!wordStarting.isEmpty)
+				this.setSourceRange(actualCompletionPosition - 
+					wordStarting.size, actualCompletionPosition)
+			else 
+				this.setSourceRange(actualCompletionPosition, 
+					actualCompletionPosition)
+			pos -= wordStarting.size
+			//echo("${content[pos-2..pos]}")
+			// After . ?. -> ?->
+			Int? prevNodePos := null
+			
+			CompletionProvider[] providers := [
+				DotCompletionProvider#,
+				FacetCompletionProvider#,
+				QnameCompletionProvider#,
+				UsingCompletionProvider#,
+				IsCompletionProvider#,
+				StrProvider#,
+				GreedyProvider#,
+				].map |Type t->CompletionProvider| {
+					t.make([ns, content, cunit])
+				}
+			
+			Bool? isDone := providers.eachWhile |provider| {
+				provider.setInput(pos, wordStarting) ? 
+					(provider.complete(this) ? 
+						true ://no more processing
+						null //next provider
+						) : 
+					null //next provider
+			}
+			if(isDone ?: false) return
+
+			path := AstFinder.find(cunit, pos)
+			
+			// Inside type declaration
+			//TODO: Remove once we will find out that there is no valuable information
+//			TypeDef? typeDef := path.find(TypeDef#)
+//			if (typeDef != null)
+//			{
+//				if (isEndOfStmt(content, pos))
+//				{					
+//					completePods(ns.podNames, wordStarting)
+//					ns.podNames.each
+//					{
+//						completeTypes(ns.findPod(it).typeNames, wordStarting)
+//					}					
+//				}
+//				if (isStmt(content, pos))
+//				{
+//					if (path.find(Block#) != null)
+//					{			
+//						t := ns.currPod.findType(typeDef.name.text, false)
+//						if (t != null) completeSlots(t.allSlots(ns), wordStarting)	
+//						MethodVar[] locals := path.findLocals			
+//						completeLocals(locals, wordStarting)
+//					}					
+//				}
+//			}
+//			
+//			completeKeywords(pos, cunit, wordStarting, domLocation)
+			
+		}
+		catch(Err e) {
+			//TODO: handle error correctly
+			e.trace
+		}
+		finally {
+			this.requestor.endReporting()
+			rpm.done(F4Nature.id, "Completion time", 0)
+		}
+	}
+	
+	private Str getLineStarting(Str content, Int position) {
+		if (position <= 0 || position > content.size) return ""
+		original := position
+
+		while (position > 0 && content[position] != '\n')
+			position--
+
+		return content[position..original]
+	}
+	
+	private Bool isEndOfStmt(Str content, Int position) {
+		if (position <= 0 || position > content.size) return true
+		original := position
+
+		while (position > 0 && content[position] == ' ')
+			position--
 
-    try
-    {
-      
-      wordStarting := ParseUtil.wordStart(content, pos)
-      //echo("pos - $pos, wordStarting - $wordStarting")
-      if (!wordStarting.isEmpty)
-        this.setSourceRange(actualCompletionPosition - 
-          wordStarting.size, actualCompletionPosition)
-      else 
-        this.setSourceRange(actualCompletionPosition, 
-          actualCompletionPosition)
-      pos -= wordStarting.size
-      //echo("${content[pos-2..pos]}")
-      // After . ?. -> ?->
-      Int? prevNodePos := null
-      
-      CompletionProvider[] providers := [
-        DotCompletionProvider#,
-        FacetCompletionProvider#,
-        QnameCompletionProvider#,
-        UsingCompletionProvider#,
-        IsCompletionProvider#,
-        StrProvider#,
-        GreedyProvider#,
-        ].map |Type t->CompletionProvider|
-        {
-          t.make([ns, content, cunit])
-        }
-      
-      Bool? isDone := providers.eachWhile |provider|
-      {
-        provider.setInput(pos, wordStarting) ? 
-          (provider.complete(this) ? 
-            true ://no more processing
-            null //next provider
-            ) : 
-          null //next provider
-      }
-      if(isDone ?: false) return
+		if (content[position] == '\n'
+			|| content[position] == '}'
+			|| content[position] == ';') return true
+		return false
+	}
+	
+	private Bool isStmt(Str content, Int position) {
+		if (position <= 0 || position > content.size) return true
+		original := position
+		
+		while (position > 0 && content[position] == ' ')
+			position--
 
-      path := AstFinder.find(cunit, pos)
-      
-      // Inside type declaration
-      //TODO: Remove once we will find out that there is no valuable information
-//      TypeDef? typeDef := path.find(TypeDef#)
-//      if (typeDef != null)
-//      {
-//        if (isEndOfStmt(content, pos))
-//        {          
-//          completePods(ns.podNames, wordStarting)
-//          ns.podNames.each
-//          {
-//            completeTypes(ns.findPod(it).typeNames, wordStarting)
-//          }          
-//        }
-//        if (isStmt(content, pos))
-//        {
-//          if (path.find(Block#) != null)
-//          {      
-//            t := ns.currPod.findType(typeDef.name.text, false)
-//            if (t != null) completeSlots(t.allSlots(ns), wordStarting)  
-//            MethodVar[] locals := path.findLocals      
-//            completeLocals(locals, wordStarting)
-//          }          
-//        }
-//      }
-//      
-//      completeKeywords(pos, cunit, wordStarting, domLocation)
-      
-    }
-    catch(Err e) 
-    {
-      //TODO: handle error correctly
-      e.trace
-    }
-    finally
-    {
-      this.requestor.endReporting()
-      rpm.done(F4Nature.id, "Completion time", 0)
-    }
-  }
-  
-  private Str getLineStarting(Str content, Int position)
-  {
-    if (position <= 0 || position > content.size) return ""
-    original := position
-    while (position > 0
-        && content[position] != '\n')
-    {
-      position--
-    }
-    return content[position..original]
-  }
-  
-  private Bool isEndOfStmt(Str content, Int position)
-  {
-    if (position <= 0 || position > content.size) return true
-    original := position
-    while (position > 0
-        && (content[position] == ' ')
-      )
-    {
-      position--
-    }
-    if (content[position] == '\n'
-      || content[position] == '}'
-      || content[position] == ';') return true
-    return false
-  }
-  
-  private Bool isStmt(Str content, Int position)
-  {
-    if (position <= 0 || position > content.size) return true
-    original := position
-    while (position > 0
-        && (content[position] == ' ')
-      )
-    {
-      position--
-    }
-    switch (content[position])
-    {
-      case '\n':return true
-      case '}': return true
-      case ';': return true
-      case '=': return true
-    }
-    return false
-  }
-  
-  private Str getWordStarting(Str content, Int position, Int maxLen)
-  {
-    if (position <= 0 || position > content.size) return ""
-    original := position
-    while (position > 0
-        && maxLen > 0
-        && ((content[position].isAlphaNum)
-            || (content[position] == '_')
-          )
-      )
-    {
-      position--
-      maxLen--
-    }
-    return content[position+1..original]
-  }
-  
-  protected Void completeKeywords(Str[] keywords, Str nameStarting)
-  {
-    keywords.findAll { it.lower.startsWith(nameStarting.lower) }.each 
-    {
-      reportWord(it, 
-        ProposeKind.keyword, 
-        Relevance.keyword)
-    }
-  }
-  
-  protected Void completePods(Str[] podNames, Str nameStarting)
-  {
-    podNames.findAll { it.lower.startsWith(nameStarting.lower) }.each 
-    {
-      reportWord(it, 
-        ProposeKind.pod, 
-        Relevance.pod)
-    }
-  }
-  
-  protected Void completeSlots(IFanSlot[] slots, Str nameStarting)
-  {
-    slots.findAll { it.name.lower.startsWith(nameStarting.lower) }.each |slot|
-    {
-      kind := getKind(slot)
-      
-      switch(kind)
-      {
-        case ProposeKind.method:
-          reportMethod(slot)
-        default:
-          reportWord(slot.name, kind, Relevance.var, slot.me)
-      }
-    }
-  }
-  
-  private ProposeKind getKind(IFanSlot slot) 
-  { 
-    if(slot.isField) return ProposeKind.field
-    method := slot as IFanMethod
-    if(method.params.size == 0) return ProposeKind.field //To avoid empty braces, reporting parameterless method as field 
-    return ProposeKind.method
-  }
-  
-  protected Void completeTypes(Str[] typeNames, Str prefix)
-  {
-    typeNames.findAll { it.lower.startsWith(prefix.lower) }. each 
-    { reportWord(it, ProposeKind.type, Relevance.type) }
-  }
-  
-  protected Void completeLocals(MethodVar[] locals, Str prefix)
-  {
-    locals.findAll { it.name.text.lower.startsWith(prefix.lower) }.
-    each { reportWord(it.name.text, ProposeKind.var, Relevance.var) }
-  }
-  
-  private Void reportMethod(IFanMethod method)
-  {
-    if(requestor.isIgnored(ProposeKind.method.val)) return
-    proposal := createProposal(ProposeKind.method.val, actualCompletionPosition)
-    proposal.setName(method.name)
-    proposal.setCompletion(method.name)
-    proposal.setIsConstructor(method.isCtor)
-    proposal.setParameterNames(paramNames(method))
-    proposal.setReplaceRange(startPosition - offset,
-        endPosition - offset)
-    proposal.setModelElement(method.me)
-    proposal.setRelevance(Relevance.method.val)
-//    proposal.setExtraInfo(method.type)
-    requestor.accept(proposal)
-  }
-  
-  private Str?[]? paramNames(IFanMethod method) { method.params.map |IFanParam p->Str?| { p.name } } 
-  private Void reportWord(Str name, ProposeKind kind, Relevance relevance, IModelElement? me := null) 
-  {
-    if(requestor.isIgnored(kind.val)) return
-    proposal := createProposal(kind.val, actualCompletionPosition)
-    proposal.setName(name)
-    proposal.setCompletion(name)
-    proposal.setReplaceRange(startPosition - offset, endPosition - offset)
-    proposal.setRelevance(relevance.val)
-    proposal.setModelElement(me)
-    this.requestor.accept(proposal)
-  }
-  
-  override CompletionProposal create(ProposeKind kind)
-  {
-    result := createProposal(kind.val, actualCompletionPosition)
-    result.setReplaceRange(startPosition - offset, endPosition - offset)
-    return result
-  }
-  
-  override Void report(CompletionProposal proposal)
-  {
-    requestor.accept(proposal)
-  }
-  
-  override Bool ignores(ProposeKind kind)
-  {
-    requestor.isIgnored(kind.val)
-  }
+		switch (content[position]) {
+			case '\n':return true
+			case '}': return true
+			case ';': return true
+			case '=': return true
+		}
+		return false
+	}
+	
+	private Str getWordStarting(Str content, Int position, Int maxLen) {
+		if (position <= 0 || position > content.size) return ""
+		original := position
+		while (position > 0 && maxLen > 0 && ((content[position].isAlphaNum) || content[position] == '_')) {
+			position--
+			maxLen--
+		}
+		return content[position+1..original]
+	}
+	
+	protected Void completeKeywords(Str[] keywords, Str nameStarting) {
+		keywords.findAll { it.lower.startsWith(nameStarting.lower) }.each {
+			reportWord(it, ProposeKind.keyword, Relevance.keyword)
+		}
+	}
+	
+	protected Void completePods(Str[] podNames, Str nameStarting) {
+		podNames.findAll { it.lower.startsWith(nameStarting.lower) }.each {
+			reportWord(it, ProposeKind.pod, Relevance.pod)
+		}
+	}
+	
+	protected Void completeSlots(IFanSlot[] slots, Str nameStarting) {
+		slots.findAll { it.name.lower.startsWith(nameStarting.lower) }.each |slot| {
+			kind := getKind(slot)
+			
+			switch(kind) {
+				case ProposeKind.method:
+					reportMethod(slot)
+				default:
+					reportWord(slot.name, kind, Relevance.var, slot.me)
+			}
+		}
+	}
+	
+	private ProposeKind getKind(IFanSlot slot) { 
+		if (slot.isField) return ProposeKind.field
+		method := slot as IFanMethod
+		if (method.params.size == 0) return ProposeKind.field //To avoid empty braces, reporting parameterless method as field 
+		return ProposeKind.method
+	}
+	
+	protected Void completeTypes(Str[] typeNames, Str prefix) {
+		typeNames.findAll { it.lower.startsWith(prefix.lower) }. each { reportWord(it, ProposeKind.type, Relevance.type) }
+	}
+	
+	protected Void completeLocals(MethodVar[] locals, Str prefix) {
+		locals.findAll { it.name.text.lower.startsWith(prefix.lower) }.
+		each { reportWord(it.name.text, ProposeKind.var, Relevance.var) }
+	}
+	
+	private Void reportMethod(IFanMethod method) {
+		if(requestor.isIgnored(ProposeKind.method.val)) return
+		proposal := createProposal(ProposeKind.method.val, actualCompletionPosition)
+		proposal.setName(method.name)
+		proposal.setCompletion(method.name)
+		proposal.setIsConstructor(method.isCtor)
+		proposal.setParameterNames(paramNames(method))
+		proposal.setReplaceRange(startPosition - offset, endPosition - offset)
+		proposal.setModelElement(method.me)
+		proposal.setRelevance(Relevance.method.val)
+//		proposal.setExtraInfo(method.type)
+		requestor.accept(proposal)
+	}
+	
+	private Str?[]? paramNames(IFanMethod method) { method.params.map |IFanParam p->Str?| { p.name } } 
+	private Void reportWord(Str name, ProposeKind kind, Relevance relevance, IModelElement? me := null) {
+		if(requestor.isIgnored(kind.val)) return
+		proposal := createProposal(kind.val, actualCompletionPosition)
+		proposal.setName(name)
+		proposal.setCompletion(name)
+		proposal.setReplaceRange(startPosition - offset, endPosition - offset)
+		proposal.setRelevance(relevance.val)
+		proposal.setModelElement(me)
+		this.requestor.accept(proposal)
+	}
+	
+	override CompletionProposal create(ProposeKind kind) {
+		result := createProposal(kind.val, actualCompletionPosition)
+		result.setReplaceRange(startPosition - offset, endPosition - offset)
+		return result
+	}
+	
+	override Void report(CompletionProposal proposal) {
+		requestor.accept(proposal)
+	}
+	
+	override Bool ignores(ProposeKind kind) {
+		requestor.isIgnored(kind.val)
+	}
 }
 
diff --git a/com.xored.f4.ui.text/fan/contentassist/FanCompletionProcessor.fan b/com.xored.f4.ui.text/fan/contentassist/FanCompletionProcessor.fan
index a27fda61..d7e322c4 100644
--- a/com.xored.f4.ui.text/fan/contentassist/FanCompletionProcessor.fan
+++ b/com.xored.f4.ui.text/fan/contentassist/FanCompletionProcessor.fan
@@ -5,9 +5,7 @@ using f4core
 
 class FanCompletionProcessor : ScriptCompletionProcessor {
 
-  new make(IEditorPart? editor,
-      ContentAssistant? assistant, Str? partition) 
-  : super(editor, assistant, partition) { }
+	new make(IEditorPart? editor, ContentAssistant? assistant, Str? partition) : super(editor, assistant, partition) { }
 
-  override Str? getNatureId() { F4Nature.id }
+	override Str? getNatureId() { F4Nature.id }
 }
diff --git a/com.xored.f4.ui.text/fan/contentassist/FanCompletionProposal.fan b/com.xored.f4.ui.text/fan/contentassist/FanCompletionProposal.fan
index a74c4a6b..f52a92f0 100644
--- a/com.xored.f4.ui.text/fan/contentassist/FanCompletionProposal.fan
+++ b/com.xored.f4.ui.text/fan/contentassist/FanCompletionProposal.fan
@@ -8,17 +8,10 @@ using f4uiCore
 
 public class FanCompletionProposal : ScriptCompletionProposalBridge {
 
-  new make(Str? replacementString,
-      Int replacementOffset, Int replacementLength, Image? image,
-      Str? displayString, Int relevance, Bool isInDoc) 
-  : super(replacementString, replacementOffset, replacementLength, image,
-        displayString, relevance, isInDoc)
-  {
-  }
+	new make(Str? replacementString, Int replacementOffset, Int replacementLength, Image? image, Str? displayString, Int relevance, Bool isInDoc) 
+		: super(replacementString, replacementOffset, replacementLength, image, displayString, relevance, isInDoc) { }
 
-  override Bool insertCompletion()
-  {
-    FanUI.instance.plugin.getPreferenceStore
-      .getBoolean(PreferenceConstants.CODEASSIST_INSERT_COMPLETION)
-  }
+	override Bool insertCompletion() {
+		FanUI.instance.plugin.getPreferenceStore.getBoolean(PreferenceConstants.CODEASSIST_INSERT_COMPLETION)
+	}
 }
diff --git a/com.xored.f4.ui.text/fan/contentassist/FanCompletionProposalCollector.fan b/com.xored.f4.ui.text/fan/contentassist/FanCompletionProposalCollector.fan
index e6e5a2e9..c07be773 100644
--- a/com.xored.f4.ui.text/fan/contentassist/FanCompletionProposalCollector.fan
+++ b/com.xored.f4.ui.text/fan/contentassist/FanCompletionProposalCollector.fan
@@ -4,35 +4,21 @@ using [java] org.eclipse.swt.graphics
 using [java] com.xored.f4.ui.text
 using f4core
 
-public class FanCompletionProposalCollector :
-    ScriptCompletionProposalCollectorBridge {
+class FanCompletionProposalCollector : ScriptCompletionProposalCollectorBridge {
 
-  new make(ISourceModule module) : super(module) {
-  }
-      
-  override ScriptCompletionProposal? createScriptCompletionProposal1(
-      Str? completion, Int replaceStart, Int length, Image? image,
-      Str? displayString, Int i, Bool isInDoc)
-  {
-    return FanCompletionProposal(completion, replaceStart, length,
-        image, displayString, i, isInDoc)
-  }
+	new make(ISourceModule module) : super(module) { }
+			
+	override ScriptCompletionProposal? createScriptCompletionProposal1(Str? completion, Int replaceStart, Int length, Image? image, Str? displayString, Int i, Bool isInDoc) {
+		return FanCompletionProposal(completion, replaceStart, length, image, displayString, i, isInDoc)
+	}
 
-  override ScriptCompletionProposal? createScriptCompletionProposal2(
-      IScriptProject? scriptProject, ISourceModule? compilationUnit,
-      Str? name, Str?[]? paramTypes, Int start, Int length,
-      Str? displayName, Str? completionProposal)
-  {
-    return FanOverrideCompletionProposal(scriptProject,
-        compilationUnit, name, paramTypes, start, length, displayName,
-        completionProposal)
-  }
+	override ScriptCompletionProposal? createScriptCompletionProposal2(IScriptProject? scriptProject, ISourceModule? compilationUnit, Str? name, Str?[]? paramTypes, Int start, Int length, Str? displayName, Str? completionProposal) {				
+		return FanOverrideCompletionProposal(scriptProject, compilationUnit, name, paramTypes, start, length, displayName, completionProposal)
+	}
 
-  override IScriptCompletionProposal? createMethodReferenceProposal(
-    CompletionProposal? methodProposal)
-  {
-    FanMethodCompletionProposal(methodProposal, getInvocationContext)
-  }
+	override IScriptCompletionProposal? createMethodReferenceProposal(CompletionProposal? methodProposal) {
+		FanMethodCompletionProposal(methodProposal, getInvocationContext)
+	}
 
-  override Str? getNatureId() { F4Nature.id }
+	override Str? getNatureId() { F4Nature.id }
 }
diff --git a/com.xored.f4.ui.text/fan/contentassist/FanCompletionProposalLabelProvider.fan b/com.xored.f4.ui.text/fan/contentassist/FanCompletionProposalLabelProvider.fan
index f1a160d2..50a5e0c8 100644
--- a/com.xored.f4.ui.text/fan/contentassist/FanCompletionProposalLabelProvider.fan
+++ b/com.xored.f4.ui.text/fan/contentassist/FanCompletionProposalLabelProvider.fan
@@ -5,42 +5,45 @@ using f4core
 using f4model
 
 class FanCompletionProposalLabelProvider : CompletionProposalLabelProvider {
-  
-  override protected Str? createMethodProposalLabel(CompletionProposal? methodProposal)
-  {
-    extraInfo := methodProposal.getExtraInfo as FanMethodCompletionProposalExtraInfo
-    params := extraInfo.params
-    method := extraInfo.method
-
-    buffer := StrBuf()
-
-    // method name
-    buffer.add(methodProposal.getName);
-    // parameters
-    buffer.addChar('(')
-    buffer.add(params.map { "${prettyType(it.of)} $it.name" }.join(", "))
-    buffer.addChar(')')
-    // return type
-    buffer.add(" : ")
-    buffer.add(prettyType(method.of))
-    // element name
-    buffer.add(" - ")
-    buffer.add(prettyType(method.parent))
-
-    return buffer.toStr
-  }
-
-  private static Str prettyType(Str type)
-  {
-    ParseUtil.splitByQnames(type).map |e -> Str|
-    {
-      // add spaces after commas
-      if (e.endsWith(",")) { return "$e "}
-      // add spaces around arrows
-      if (e.endsWith("->")) { return e[0..-3] + " -> " }
-      // remove sys:: pod from typenames
-      if (e.startsWith("sys::")) { return e[5..-1] }
-      return e
-    }.join
-  }
+	
+	override protected Str? createMethodProposalLabel(CompletionProposal? methodProposal) {
+		extraInfo := methodProposal.getExtraInfo as FanMethodCompletionProposalExtraInfo
+		params := extraInfo.params
+		method := extraInfo.method
+
+		buffer := StrBuf()
+
+		// method name
+		buffer.add(methodProposal.getName);
+
+		// parameters
+		buffer.addChar('(')
+		buffer.add(params.map { "${prettyType(it.of)} $it.name" }.join(", "))
+		buffer.addChar(')')
+
+		// return type
+		buffer.add(" : ")
+		buffer.add(prettyType(method.of))
+
+		// element name
+		buffer.add(" - ")
+		buffer.add(prettyType(method.parent))
+
+		return buffer.toStr
+	}
+
+	private static Str prettyType(Str type) {
+		ParseUtil.splitByQnames(type).map |e -> Str| {
+			// add spaces after commas
+			if (e.endsWith(",")) { return "$e "}
+			
+			// add spaces around arrows
+			if (e.endsWith("->")) { return e[0..-3] + " -> " }
+			
+			// remove sys:: pod from typenames
+			if (e.startsWith("sys::")) { return e[5..-1] }
+
+			return e
+		}.join
+	}
 }
diff --git a/com.xored.f4.ui.text/fan/contentassist/FanContentAssistPreference.fan b/com.xored.f4.ui.text/fan/contentassist/FanContentAssistPreference.fan
index 25e1550d..b81fdba7 100644
--- a/com.xored.f4.ui.text/fan/contentassist/FanContentAssistPreference.fan
+++ b/com.xored.f4.ui.text/fan/contentassist/FanContentAssistPreference.fan
@@ -3,8 +3,7 @@ using [java] org.eclipse.dltk.ui.text.completion
 
 class FanContentAssistPreference : ContentAssistPreference {
 
-  override ScriptTextTools? getTextTools() {
-    return FanTextTools.instance
-  }
-
+	override ScriptTextTools? getTextTools() {
+		return FanTextTools.instance
+	}
 }
diff --git a/com.xored.f4.ui.text/fan/contentassist/FanMethodCompletionProposal.fan b/com.xored.f4.ui.text/fan/contentassist/FanMethodCompletionProposal.fan
index f9757e07..fbfbabd7 100644
--- a/com.xored.f4.ui.text/fan/contentassist/FanMethodCompletionProposal.fan
+++ b/com.xored.f4.ui.text/fan/contentassist/FanMethodCompletionProposal.fan
@@ -1,11 +1,3 @@
-//
-// Copyright (c) 2010 xored software, Inc.
-// Licensed under Eclipse Public License version 1.0
-//
-// History:
-//   Dmitriy Malyugin July 26, 2010 - Initial Contribution
-//
-
 using [java] java.util
 
 using [java] org.eclipse.dltk.ui
@@ -23,119 +15,114 @@ using f4parser
 using f4core
 
 class FanMethodCompletionProposal : ScriptMethodCompletionProposal {
-  
-  new make(CompletionProposal proposal,
-      ScriptContentAssistInvocationContext context)
-    : super(proposal, context) {
-    }
-  
-  override protected Void computeReplacement(IReplacementBuffer? buffer) 
-  {
-    if (!hasArgumentList) {
-      return super.computeReplacement(buffer)
-    }
+	
+	new make(CompletionProposal proposal, ScriptContentAssistInvocationContext context) : super(proposal, context) { }
+	
+	override protected Void computeReplacement(IReplacementBuffer? buffer) {
+		if (!hasArgumentList) {
+			return super.computeReplacement(buffer)
+		}
 
-    params := (fProposal.getExtraInfo as FanMethodCompletionProposalExtraInfo).params
-    
-    buffer.append(fProposal.getName)
-    if(params.isEmpty) 
-    {
-      // leave method without brackets
-      setCursorPosition(buffer.toString.size)
-      return
-    }
+		params := (fProposal.getExtraInfo as FanMethodCompletionProposalExtraInfo).params
+		
+		buffer.append(fProposal.getName)
+		if (params.isEmpty) {
+			// leave method without brackets
+			setCursorPosition(buffer.toString.size)
+			return
+		}
 
-    setCursorPosition(buffer.toString.size + 1)
-    
-    // check if last param is Func
-    lastClosure := ParseUtil.isFuncType(params.last?.of ?: "") ? params.last : null
-    if(lastClosure != null) params = params[0..-2]
-    
-    argumentOffset := 0
-    if(!params.isEmpty) { 
-      buffer.append("(")
-      
-      buffer.append(params.map |param|{ 
-        paramName := computeReplacementParam(param, buffer, argumentOffset)         
-        argumentOffset += paramName.size + 2
-        //param, COMMA and SPACE
-        
-        return paramName
-      }.join(", "))
-      
-      buffer.append(")")
-    }
+		setCursorPosition(buffer.toString.size + 1)
+		
+		// check if last param is Func
+		lastClosure := ParseUtil.isFuncType(params.last?.of ?: "") ? params.last : null
+		if (lastClosure != null) params = params[0..-2]
+		
+		argumentOffset := 0
+		if (!params.isEmpty) { 
+			buffer.append("(")
+			
+			buffer.append(params.map |param|{ 
+				paramName := computeReplacementParam(param, buffer, argumentOffset)				 
+				argumentOffset += paramName.size + 2
+				//param, COMMA and SPACE
+				
+				return paramName
+			}.join(", "))
+			
+			buffer.append(")")
+		}
 
-    if(lastClosure == null) return
-    
-    // and finally last param
-    lastParam := computeReplacementParam(lastClosure, buffer, argumentOffset)
-    
-    buffer.append(" ")
-    buffer.append(lastParam)      
-  }
-  
-  private Str computeReplacementParam(IFanParam param, IReplacementBuffer replacementBuffer, Int baseOffset) {
-    Str type := param.of
-    
-    if (ParseUtil.isFuncType(type)) { 
-      return computeReplacementClosureParam(ParseUtil.parseFuncType(type), replacementBuffer, baseOffset)
-    }
-    
-    replacementBuffer.addArgument(baseOffset, param.name.size)
-    return param.name
-  }
-  
-  private Str computeReplacementClosureParam(FuncType funcType, IReplacementBuffer replacementBuffer, Int baseOffset) {
-    buffer := StrBuf()
-    closureParams := funcType.params
-    returnType := funcType.returnType == null ? "" : funcType.returnType.toStr
-    
-    argumentOffset := baseOffset + 1
-    // base offset + "|"
-    
-    if(!closureParams.isEmpty) {
-      buffer.add("|")
-      
-      count := 0
-      buffer.add(closureParams.map |closureParam| {
-        paramName := closureParam.name != null ? closureParam.name.text : null
-        
-        if(paramName == null) {
-          ++count
-          paramName = "p${count}"
-        }
-        
-        replacementBuffer.addArgument(argumentOffset, paramName.size)
-        argumentOffset += paramName.size + 2
-        //param, COMMA and SPACE
-        
-        return paramName
-      }.join(", "))
-      
-      buffer.add("|").add(" ")
-      argumentOffset += 2
-    } else {
-//      buffer.add("|").add("->").add(returnType).add("|").add(" ")
-//      argumentOffset += 6 + returnType.size
-       argumentOffset += 1
-    }
-    
-    buffer.add("{   }")
-    replacementBuffer.addArgument(argumentOffset, 1)
-    // one space only
-    
-    return buffer.toStr
-  }
+		if(lastClosure == null) return
+		
+		// and finally last param
+		lastParam := computeReplacementParam(lastClosure, buffer, argumentOffset)
+		
+		buffer.append(" ")
+		buffer.append(lastParam)			
+	}
+	
+	private Str computeReplacementParam(IFanParam param, IReplacementBuffer replacementBuffer, Int baseOffset) {
+		Str type := param.of
+		
+		if (ParseUtil.isFuncType(type)) { 
+			return computeReplacementClosureParam(ParseUtil.parseFuncType(type), replacementBuffer, baseOffset)
+		}
+		
+		replacementBuffer.addArgument(baseOffset, param.name.size)
+		return param.name
+	}
+	
+	private Str computeReplacementClosureParam(FuncType funcType, IReplacementBuffer replacementBuffer, Int baseOffset) {
+		buffer := StrBuf()
+		closureParams := funcType.params
+		returnType := funcType.returnType == null ? "" : funcType.returnType.toStr
+		
+		argumentOffset := baseOffset + 1
+		// base offset + "|"
+		
+		if (!closureParams.isEmpty) {
+			buffer.add("|")
+			
+			count := 0
+			buffer.add(closureParams.map |closureParam| {
+				paramName := closureParam.name != null ? closureParam.name.text : null
+				
+				if(paramName == null) {
+					++count
+					paramName = "p${count}"
+				}
+				
+				replacementBuffer.addArgument(argumentOffset, paramName.size)
+				argumentOffset += paramName.size + 2
+				//param, COMMA and SPACE
+				
+				return paramName
+			}.join(", "))
+			
+			buffer.add("|").add(" ")
+			argumentOffset += 2
+		} else {
+//			buffer.add("|").add("->").add(returnType).add("|").add(" ")
+//			argumentOffset += 6 + returnType.size
+			 argumentOffset += 1
+		}
+		
+		buffer.add("{	 }")
+		replacementBuffer.addArgument(argumentOffset, 1)
+		// one space only
+		
+		return buffer.toStr
+	}
 
-  override protected CharArray? computeTriggerCharacters() {
-    res := super.computeTriggerCharacters
-    for(i := 1;i= 0 && buffer.getChar(index).isAlphaNum) index--
-    Int length := offset - index - 1
-    buffer.replace(index + 1, length, " ")
-    return true
-  }
-  
-  override Bool isAutoInsertable() {
-    return false
-  }
-  
-  override IContextInformation? getContextInformation() {    
-    return ContextInformation(getDisplayString(), getDisplayString());
-  }
+	override Bool updateReplacementString(IDocument? document, Int trigger, Int offset) {
+		buffer := Document(document.get)
+		index := offset - 1
+		while (index >= 0 && buffer.getChar(index).isAlphaNum) index--
+		length := offset - index - 1
+		buffer.replace(index + 1, length, " ")
+		return true
+	}
+	
+	override Bool isAutoInsertable() {
+		return false
+	}
+	
+	override IContextInformation? getContextInformation() {		
+		ContextInformation(getDisplayString, getDisplayString)
+	}
 }
diff --git a/com.xored.f4.ui.text/fan/contentassist/FanTextTools.fan b/com.xored.f4.ui.text/fan/contentassist/FanTextTools.fan
index 70308149..06574b65 100644
--- a/com.xored.f4.ui.text/fan/contentassist/FanTextTools.fan
+++ b/com.xored.f4.ui.text/fan/contentassist/FanTextTools.fan
@@ -8,44 +8,44 @@ using [java] org.eclipse.dltk.ui.text::ScriptTextTools
 using [java] org.eclipse.dltk.ui.text.templates::TemplateVariableProcessor
 using [java] com.xored.f4.ui.text::ScriptTextToolsBridge
 
-class FanTextTools : ScriptTextToolsBridge
-{
-  private static const Str[] legalContentTypes := [
-      IFanPartitions.string, IFanPartitions.multiLineComment,
-      IFanPartitions.singleLineComment,
-      IFanPartitions.interpreterString, IFanPartitions.fandoc,
-      IFanPartitions.dsl ];
-  
-  private static const Unsafe store := Unsafe(FanTextTools())
-  public static FanTextTools instance() { store.val }
-
-  public new make() : super(IFanPartitions.partitioning, legalContentTypes) { }
-
-  override ScriptSourceViewerConfiguration? srcViewerConf(
-      IPreferenceStore? preferenceStore, ITextEditor? editor,
-      Str? partitioning)
-  {
-    return FanSourceViewerConfiguration(getColorManager,
-        preferenceStore, editor, partitioning)
-  }
-
-  
-  /*override ScriptSourceViewerConfiguration createSourceViewerConfiguraton(
-      IPreferenceStore preferenceStore, ITextEditor editor,
-      TemplateVariableProcessor variableProcessor) {
-    return FanCodeTemplateSourceViewerConfiguration(getColorManager(),
-        preferenceStore, editor, getDefaultPartitioning(), true,
-        variableProcessor);
-  }*/
-
-  override IPartitionTokenScanner? getPartitionScanner() { FanPartitionScanner() }
-
-  override SemanticHighlighting?[]? getSemanticHighlightings() {
-    (SemanticHighlighting?[])FanSemanticHighlighter().getSemanticHighlightings
-  }
-
-  override ISemanticHighlightingUpdater? semanticPosUpdater() {
-    return FanSemanticHighlighter()
-  }
+class FanTextTools : ScriptTextToolsBridge {
+
+	private static const Str[] legalContentTypes := [
+		IFanPartitions.string,
+		IFanPartitions.multiLineComment,
+		IFanPartitions.singleLineComment,
+		IFanPartitions.interpreterString,
+		IFanPartitions.fandoc,
+		IFanPartitions.dsl
+	];
+	
+	private static const Unsafe store := Unsafe(FanTextTools())
+	public static FanTextTools instance() { store.val }
+
+	public new make() : super(IFanPartitions.partitioning, legalContentTypes) { }
+
+	override ScriptSourceViewerConfiguration? srcViewerConf(IPreferenceStore? preferenceStore, ITextEditor? editor, Str? partitioning) {
+		FanSourceViewerConfiguration(getColorManager, preferenceStore, editor, partitioning)
+	}
+	
+	/*override ScriptSourceViewerConfiguration createSourceViewerConfiguraton(
+			IPreferenceStore preferenceStore, ITextEditor editor,
+			TemplateVariableProcessor variableProcessor) {
+		return FanCodeTemplateSourceViewerConfiguration(getColorManager(),
+				preferenceStore, editor, getDefaultPartitioning(), true,
+				variableProcessor);
+	}*/
+
+	override IPartitionTokenScanner? getPartitionScanner() {
+		FanPartitionScanner()
+	}
+
+	override SemanticHighlighting?[]? getSemanticHighlightings() {
+		(SemanticHighlighting?[])FanSemanticHighlighter().getSemanticHighlightings
+	}
+
+	override ISemanticHighlightingUpdater? semanticPosUpdater() {
+		return FanSemanticHighlighter()
+	}
 }
 
diff --git a/com.xored.f4.ui.text/fan/contentassist/FanTypeCompletionProposalComputer.fan b/com.xored.f4.ui.text/fan/contentassist/FanTypeCompletionProposalComputer.fan
index 427bba9a..62ee0eb7 100644
--- a/com.xored.f4.ui.text/fan/contentassist/FanTypeCompletionProposalComputer.fan
+++ b/com.xored.f4.ui.text/fan/contentassist/FanTypeCompletionProposalComputer.fan
@@ -1,17 +1,13 @@
 using [java] org.eclipse.dltk.ui.text.completion
 using [java] org.eclipse.jface.text.templates
 
-public class FanTypeCompletionProposalComputer :
-    ScriptCompletionProposalComputer {
+class FanTypeCompletionProposalComputer : ScriptCompletionProposalComputer {
 
-  override TemplateCompletionProcessor? createTemplateProposalComputer(
-      ScriptContentAssistInvocationContext? context) {
-    return FanTemplateCompletionProcessor(context)
-  }
-
-  override ScriptCompletionProposalCollector? createCollector(
-      ScriptContentAssistInvocationContext? context) {
-    return FanCompletionProposalCollector(context.getSourceModule());
-  }
+	override TemplateCompletionProcessor? createTemplateProposalComputer(ScriptContentAssistInvocationContext? context) {
+		FanTemplateCompletionProcessor(context)
+	}
 
+	override ScriptCompletionProposalCollector? createCollector(ScriptContentAssistInvocationContext? context) {
+		FanCompletionProposalCollector(context.getSourceModule());
+	}
 }
diff --git a/com.xored.f4.ui.text/fan/contentassist/GreedyProvider.fan b/com.xored.f4.ui.text/fan/contentassist/GreedyProvider.fan
index bc88af7b..f5b9815b 100644
--- a/com.xored.f4.ui.text/fan/contentassist/GreedyProvider.fan
+++ b/com.xored.f4.ui.text/fan/contentassist/GreedyProvider.fan
@@ -1,125 +1,110 @@
-//
-// Copyright (c) 2010 xored software, Inc.
-// Licensed under Eclipse Public License version 1.0
-//
-// History:
-//   Ivan Inozemtsev May 19, 2010 - Initial Contribution
-//
-
 using f4core
 using f4parser
 using f4model
+
 **
 ** This provider just grabs and reports all it can - local vars, types, pods, keywords
 **
-class GreedyProvider : CompletionProvider
-{
-  //////////////////////////////////////////////////////////////////////////
-  // Constructor and overrides
-  //////////////////////////////////////////////////////////////////////////
-  new make(IFanNamespace ns, Str str, CUnit unit) : super(ns, str, unit) {}
-  
-  override Bool complete(CompletionReporter reporter)
-  {
-    super.complete(reporter)
+class GreedyProvider : CompletionProvider {
+
+	//////////////////////////////////////////////////////////////////////////
+	// Constructor and overrides
+	//////////////////////////////////////////////////////////////////////////
+
+	new make(IFanNamespace ns, Str str, CUnit unit) : super(ns, str, unit) {}
+	
+	override Bool complete(CompletionReporter reporter) {
+		super.complete(reporter)
+
+		path := AstFinder.find(unit, pos)
+		if (path.last is Literal && ((Literal)path.last).id == ExprId.strLiteral) return false
+		// report locals and current type slots
+		insideMethod := path.find(MethodDef#) != null
+		insideDefOrCall := (path.find(LocalDef#) != null) || (path.find(CallExpr#) != null)
+		if (insideMethod) {
+			methodName := path.methodName
+			typeName := path.typeName
+			parent := ns.currPod.findType(typeName, false)?.method(methodName, false)?.me
+			
+			path.findLocals.each { 
+				reportLocal(it.name.text, (it as LocalDef)?.resolvedType?.name, parent) 
+			}
+			reportTypeSlots(type(path))
+		}
+
+		// report slots of it from last it-block
+		itBlock := path.nodes.eachrWhile {
+			it is Closure && (it as Closure).signature == null ? it : null
+		}
+		if (itBlock != null) {
+			reportLocal("it")
+
+			itType := (itBlock as Closure).argTypesHint?.first
+			reportTypeSlots(itType)
+		}
 
-    path := AstFinder.find(unit, pos)
-    if( path.last is Literal && ((Literal)path.last).id == ExprId.strLiteral) return false
-    // report locals and current type slots
-    insideMethod := path.find(MethodDef#) != null
-    insideDefOrCall := (path.find(LocalDef#) != null) || (path.find(CallExpr#) != null)
-    if(insideMethod)
-    {
-      methodName := path.methodName
-      typeName := path.typeName
-      parent := ns.currPod.findType(typeName, false)?.method(methodName, false)?.me
-      
-      path.findLocals.each 
-      { 
-        reportLocal(it.name.text, 
-                  (it as LocalDef)?.resolvedType?.name, 
-                  parent) 
-      }
-      reportTypeSlots(type(path))
-    }
+		if( insideDefOrCall) {
+			//types
+			reportNsTypes(true)
+			//keywords
+			reportKeywords(defOrCallKeywords)
+			// Report FFI
+			reportUsings(true)
+			reportTypeSlots(type(path))
+			return true
+		}
+		
+		// pods
+		reportNsPods
 
-    // report slots of it from last it-block
-    itBlock := path.nodes.eachrWhile
-    {
-      it is Closure && (it as Closure).signature == null ? it : null
-    }
-    if (itBlock != null)
-    {
-      reportLocal("it")
+		// types
+		reportNsTypes
+		
+		// keywords
+		reportKeywords(insideMethod ? methodKeywords : typeKeywords)
 
-      itType := (itBlock as Closure).argTypesHint?.first
-      reportTypeSlots(itType)
-    }
+		// Report FFI
+		reportUsings
 
-    unit.types.each { 
-      
-    }
-    
-    if( insideDefOrCall)
-    {
-      //types
-      reportNsTypes(true)
-      //keywords
-      reportKeywords(defOrCallKeywords)
-      // Report FFI
-      reportUsings(true)
-      reportTypeSlots(type(path))
-      return true
-    }
-    //pods
-    reportNsPods
-    //types
-    reportNsTypes
-    //keywords
-    reportKeywords(insideMethod ? methodKeywords : typeKeywords)
-    // Report FFI
-    reportUsings
-    return true
-  }
-  
-  ** keywords that can be used inside method
-  private static const Str[] methodKeywords := [
-      "try", "catch", "finally",
-      "switch", "case", "default",
-      "return", "continue", "break",
-      "for", "while", "if", "else",
-      "true", "false", "null",
-      "this", "super",
-      "is", "as", "isnot"
-    ]
-  
-  ** keywords that can be used inside method
-  private static const Str[] defOrCallKeywords := [
-      "this", "super"
-    ]
-  
-  private static const Str[] typeKeywords := [
-      "class", "mixin", "abstract", "const", "final",
-      "using", "private", "protected", "public", "internal", "once",
-      "native", "facet"
-    ]
-  
-  //////////////////////////////////////////////////////////////////////////
-  // Private methods
-  //////////////////////////////////////////////////////////////////////////
+		return true
+	}
+	
+	** keywords that can be used inside method
+	private static const Str[] methodKeywords := [
+		"try", "catch", "finally",
+		"switch", "case", "default",
+		"return", "continue", "break",
+		"for", "while", "if", "else",
+		"true", "false", "null",
+		"this", "super",
+		"is", "as", "isnot"
+	]
+	
+	** keywords that can be used inside method
+	private static const Str[] defOrCallKeywords := [
+		"this", "super"
+	]
+	
+	private static const Str[] typeKeywords := [
+		"class", "mixin", "abstract", "const", "final",
+		"using", "private", "protected", "public", "internal", "once",
+		"native", "facet"
+	]
+	
+	//////////////////////////////////////////////////////////////////////////
+	// Private methods
+	//////////////////////////////////////////////////////////////////////////
 
-  private IFanType? type(AstPath path)
-  {
-    name := (path.find(TypeDef#) as TypeDef).name.text
-    return ns.currPod.findType(name, false)
-  }
+	private IFanType? type(AstPath path) {
+		name := (path.find(TypeDef#) as TypeDef).name.text
+		return ns.currPod.findType(name, false)
+	}
 
-  private Void reportTypeSlots(IFanType? type)
-  {
-    if (type == null) return
+	private Void reportTypeSlots(IFanType? type) {
+		if (type == null) return
 
-    slots := type.allSlots(ns)
-    reportSlots(slots)
-    if(!slots.any{ it.isCtor }) reportDefaultCtor
-  }
+		slots := type.allSlots(ns)
+		reportSlots(slots)
+		if (!slots.any{ it.isCtor }) reportDefaultCtor
+	}
 }
diff --git a/com.xored.f4.ui.text/fan/contentassist/IsCompletionProvider.fan b/com.xored.f4.ui.text/fan/contentassist/IsCompletionProvider.fan
index a3d481c4..eaaa5951 100644
--- a/com.xored.f4.ui.text/fan/contentassist/IsCompletionProvider.fan
+++ b/com.xored.f4.ui.text/fan/contentassist/IsCompletionProvider.fan
@@ -1,41 +1,33 @@
-//
-// Copyright (c) 2010 xored software, Inc.
-// Licensed under Eclipse Public License version 1.0
-//
-// History:
-//   Ivan Inozemtsev May 19, 2010 - Initial Contribution
-//
-
 using f4model
 using f4core
 using f4parser
+
 **
 ** Very simple - works after words as, is and isnot
 **
-class IsCompletionProvider : CompletionProvider
-{
-  //////////////////////////////////////////////////////////////////////////
-  // Constructor and overrides
-  //////////////////////////////////////////////////////////////////////////
-  new make(IFanNamespace ns, Str str, CUnit unit) : super(ns, str, unit) {}
-  
-  override Bool setInput(Int pos, Str prefix)
-  {
-    super.setInput(pos, prefix)
-    preSrc := src[0..pos].trim
-    return endings.any { preSrc.endsWith(it) }
-  }
-  
-  override Bool complete(CompletionReporter reporter)
-  {
-    super.complete(reporter)
-    reportNsTypes
-    return true
-  }
-  //////////////////////////////////////////////////////////////////////////
-  // Private provider-specific slots
-  //////////////////////////////////////////////////////////////////////////
-  private static const Str[] endings := ["as", "is", "isnot"]
-  
-  
+class IsCompletionProvider : CompletionProvider {
+
+	//////////////////////////////////////////////////////////////////////////
+	// Constructor and overrides
+	//////////////////////////////////////////////////////////////////////////
+
+	new make(IFanNamespace ns, Str str, CUnit unit) : super(ns, str, unit) {}
+	
+	override Bool setInput(Int pos, Str prefix) {
+		super.setInput(pos, prefix)
+		preSrc := src[0..pos].trim
+		return endings.any { preSrc.endsWith(it) }
+	}
+	
+	override Bool complete(CompletionReporter reporter) {
+		super.complete(reporter)
+		reportNsTypes
+		return true
+	}
+
+	//////////////////////////////////////////////////////////////////////////
+	// Private provider-specific slots
+	//////////////////////////////////////////////////////////////////////////
+
+	private static const Str[] endings := ["as", "is", "isnot"]
 }
diff --git a/com.xored.f4.ui.text/fan/contentassist/QnameCompletionProvider.fan b/com.xored.f4.ui.text/fan/contentassist/QnameCompletionProvider.fan
index aa26631d..6f97710c 100644
--- a/com.xored.f4.ui.text/fan/contentassist/QnameCompletionProvider.fan
+++ b/com.xored.f4.ui.text/fan/contentassist/QnameCompletionProvider.fan
@@ -1,49 +1,42 @@
-//
-// Copyright (c) 2010 xored software, Inc.
-// Licensed under Eclipse Public License version 1.0
-//
-// History:
-//   Ivan Inozemtsev May 19, 2010 - Initial Contribution
-//
-
 using f4core
 using f4model
 using f4parser
+
 **
 ** This provider works when we completing something after "::"
 **
-class QnameCompletionProvider : CompletionProvider
-{
-  //////////////////////////////////////////////////////////////////////////
-  // Constructor and overrides
-  //////////////////////////////////////////////////////////////////////////
-  new make(IFanNamespace ns, Str src, CUnit unit) : super(ns, src, unit) {}
-  
-  override Bool setInput(Int pos, Str prefix)
-  {
-    super.setInput(pos, prefix)
-    if( pos == 0) return false
-    if(src[pos-1..pos] != "::") return false
-    path = AstFinder.find(unit, pos-1)
-    return true
-  }
-  
-  override Bool complete(CompletionReporter reporter)
-  {
-    super.complete(reporter)
-    reportPodTypes(pod)
-    return true
-  }
-  //////////////////////////////////////////////////////////////////////////
-  // Provider-spefific privates
-  //////////////////////////////////////////////////////////////////////////
-  private AstPath? path
-  
-  private once IFanPod? pod()
-  {
-    podRef := path.last as PodRef
-    if(podRef != null) return podRef.modelPod ?: ns.findPod(podRef.text)
-    podName := ParseUtil.wordStart(src, pos-2)
-    return ns.findPod(podName)
-  }
+class QnameCompletionProvider : CompletionProvider {
+	
+	//////////////////////////////////////////////////////////////////////////
+	// Constructor and overrides
+	//////////////////////////////////////////////////////////////////////////
+	
+	new make(IFanNamespace ns, Str src, CUnit unit) : super(ns, src, unit) {}
+	
+	override Bool setInput(Int pos, Str prefix) {
+		super.setInput(pos, prefix)
+		if (pos == 0) return false
+		if (src[pos-1..pos] != "::") return false
+		path = AstFinder.find(unit, pos-1)
+		return true
+	}
+	
+	override Bool complete(CompletionReporter reporter) {
+		super.complete(reporter)
+		reportPodTypes(pod)
+		return true
+	}
+	
+	//////////////////////////////////////////////////////////////////////////
+	// Provider-spefific privates
+	//////////////////////////////////////////////////////////////////////////
+	
+	private AstPath? path
+	
+	private once IFanPod? pod() {
+		podRef := path.last as PodRef
+		if (podRef != null) return podRef.modelPod ?: ns.findPod(podRef.text)
+		podName := ParseUtil.wordStart(src, pos-2)
+		return ns.findPod(podName)
+	}
 }
diff --git a/com.xored.f4.ui.text/fan/contentassist/StrProvider.fan b/com.xored.f4.ui.text/fan/contentassist/StrProvider.fan
index 49d4e1cd..8e51adc7 100644
--- a/com.xored.f4.ui.text/fan/contentassist/StrProvider.fan
+++ b/com.xored.f4.ui.text/fan/contentassist/StrProvider.fan
@@ -1,254 +1,219 @@
-//
-// Copyright (c) 2010 xored software, Inc.
-// Licensed under Eclipse Public License version 1.0
-//
-// History:
-//   Ivan Inozemtsev May 19, 2010 - Initial Contribution
-//
-
 using f4core
 using f4parser
 using f4model
+
 **
 ** This provider check for string literal completions and just grabs and reports all it can overwize - local vars, types, pods, keywords
 **
-class StrProvider : CompletionProvider
-{
-  private Bool isPound := false
-  //////////////////////////////////////////////////////////////////////////
-  // Constructor and overrides
-  //////////////////////////////////////////////////////////////////////////
-  new make(IFanNamespace ns, Str str, CUnit unit) : super(ns, str, unit) {}
-  
-  override Bool complete(CompletionReporter reporter)
-  {
-    super.complete(reporter)
+class StrProvider : CompletionProvider {
+	private Bool isPound := false
+
+	//////////////////////////////////////////////////////////////////////////
+	// Constructor and overrides
+	//////////////////////////////////////////////////////////////////////////
+
+	new make(IFanNamespace ns, Str str, CUnit unit) : super(ns, str, unit) {}
+	
+	override Bool complete(CompletionReporter reporter) {
+		super.complete(reporter)
 
-    path := AstFinder.find(unit, pos)
+		path := AstFinder.find(unit, pos)
 
-    // report locals and current type slots
-    insideString := false // Completion inside string
-    allowMethodsInStr := false // Allow methods completion if inside ${}
-    // Ignore string literals
-    if( path.last is Literal && ((Literal)path.last).id == ExprId.strLiteral)
-    {
-      Literal lit := path.last
-      
-      Int cpos := pos
-      while( cpos >= lit.start )
-      {
-        if( src[cpos] == ' ' || src[cpos] == '\t') break
-        if( src[cpos] == '\$')
-        {
-          if( cpos > 1 && src[cpos-1] !='\\')
-          {
-            insideString = true
-            cpos++;
-            break
-          }
-        }
-        if( src[cpos]=='{')
-        {
-          if( cpos > 2 && src[cpos-1] == '\$' && src[cpos-2] != '\\')
-          {
-            allowMethodsInStr = true
-            insideString = true
-            cpos+=1
-            break
-          }
-        }
-        cpos--;
-      }
-      if( src[pos] == '{')pos++;
-      cend := pos+prefix.size 
-      realPrefix := src[cpos..cend]
-      Expr? partUnit := null
-      
-      methodName := path.methodName
-      typeName := path.typeName
-      curType := ns.currPod.findType(typeName, false)
-      curMethod := curType?.method(methodName, false)
-      parent := curMethod?.me
-      
-      if( realPrefix.size > 0) 
-      {
-        try {
-          parser := Parser(realPrefix, ns)
-          parser.usings = unit.usings
-          parser.currType = curType
-          parser.currPod = ns.currPod
-          
-          MethodDef? methoddef := path.findLast(MethodDef#)
-          if( methoddef != null)
-          {
-            parser.funcStack.push([,].addAll(methoddef.params))
-            LocalDefCollector collector := LocalDefCollector(pos)
-            methoddef.accept(collector)
-            collector.defs.each {
-              parser.addLocal(it)
-            }
-          }
-          partUnit = parser.expr
-        }
-        catch(Err e)
-        {
-          // Ignore errors
-        }
-      }
-      if( insideString && partUnit != null)
-      {
-        ending := DotCompletionProvider.endings.find { realPrefix.endsWith(it) }
-        if(ending != null)
-        {
-          isPound = ending == "#"
-          // DotCompletion
-          npos := cend - cpos
-          nodePos := npos - ending.size//+ (prefix.isEmpty ? 1 : 0)
-          partpath := StrAstFinder.findNode(partUnit, nodePos) 
-          
-          skipCallProcess := (partpath.last is CType) || (partpath.last is Expr)
-    
-          if( !skipCallProcess )
-          {
-            Expr? callExpr := partpath.findLast(CallExpr#)
-            if(callExpr != null)
-              partpath = AstPath(partpath.nodes[0..partpath.nodes.index(callExpr)], callExpr.start)
-          }
-          IFanType? type := getType(partpath)
-          
-          if(type == null)
-          {
-            typeof.pod.log.warn("${src[path.last.start..path.last.end]} can't be resolved, prefix - $prefix")
-            return true
-          }
-          
-          if(type.qname == "sys::Void") return true //no slots
-          slots := type.allSlots(ns).findAll(filter(partpath))
-          reportSlots(slots)
-      
-          if(isStatic(partpath) && !slots.any { it.isCtor })
-            reportDefaultCtor
-          return true
-        }
-      }
-     
-      if( insideString)
-      {        
-        path.findLocals.each 
-        { 
-          reportLocal(it.name.text, 
-                    (it as LocalDef)?.resolvedType?.name, 
-                    parent)
-        }
-        curType = type(path)
-        if( curType != null)
-        {
-          slots := curType.allSlots(ns).findAll |IFanSlot slot -> Bool| {
-            if( slot.isMethod && slot is DltkMethod)
-            {
-              if( ["Void", "sys::Void"].contains(slot.of)) {
-                return false
-              }
-            }
-            return true
-          }
-          reportSlots(slots)
-        }
-        //types
-        reportNsTypes
-        return true
-      }
-   }
-   return false
-  }
-  
-  
-  //////////////////////////////////////////////////////////////////////////
-  // Private methods
-  //////////////////////////////////////////////////////////////////////////
-  private |IFanSlot->Bool| filter(AstPath path)
-  {
-    isPound ? |IFanSlot slot->Bool| { true } :
-    (isStatic(path) ? |IFanSlot slot->Bool| { slot.isStatic || slot.isCtor } :
-      |IFanSlot slot->Bool| { !slot.isStatic && !slot.isCtor })
-  }
-  private Bool isStatic(AstPath path)
-  {
-    node := getNode(path)
-    return node is StaticTargetExpr || node is CType
-  }
-  private IFanType? type(AstPath path)
-  {
-    name := (path.find(TypeDef#) as TypeDef).name.text
-    return ns.currPod.findType(name, false)
-  }
+		// report locals and current type slots
+		insideString := false // Completion inside string
+		allowMethodsInStr := false // Allow methods completion if inside ${}
+		// Ignore string literals
+		if (path.last is Literal && ((Literal)path.last).id == ExprId.strLiteral) {
+			Literal lit := path.last
+			
+			Int cpos := pos
+			while( cpos >= lit.start ) {
+				if (src[cpos] == ' ' || src[cpos] == '\t') break
+				if (src[cpos] == '\$') {
+					if( cpos > 1 && src[cpos-1] !='\\') {
+						insideString = true
+						cpos++;
+						break
+					}
+				}
+				if (src[cpos]=='{') {
+					if( cpos > 2 && src[cpos-1] == '\$' && src[cpos-2] != '\\') {
+						allowMethodsInStr = true
+						insideString = true
+						cpos+=1
+						break
+					}
+				}
+				cpos--;
+			}
+			if( src[pos] == '{')pos++;
+			cend := pos+prefix.size 
+			realPrefix := src[cpos..cend]
+			Expr? partUnit := null
+			
+			methodName := path.methodName
+			typeName := path.typeName
+			curType := ns.currPod.findType(typeName, false)
+			curMethod := curType?.method(methodName, false)
+			parent := curMethod?.me
+			
+			if( realPrefix.size > 0) {
+				try {
+					parser := Parser(realPrefix, ns)
+					parser.usings = unit.usings
+					parser.currType = curType
+					parser.currPod = ns.currPod
+					
+					MethodDef? methoddef := path.findLast(MethodDef#)
+					if( methoddef != null) {
+						parser.funcStack.push([,].addAll(methoddef.params))
+						LocalDefCollector collector := LocalDefCollector(pos)
+						methoddef.accept(collector)
+						collector.defs.each {
+							parser.addLocal(it)
+						}
+					}
+					partUnit = parser.expr
+				}
+				catch(Err e) {
+					// Ignore errors
+				}
+			}
+			if( insideString && partUnit != null) {
+				ending := DotCompletionProvider.endings.find { realPrefix.endsWith(it) }
+				if (ending != null) {
+					isPound = ending == "#"
+					// DotCompletion
+					npos := cend - cpos
+					nodePos := npos - ending.size//+ (prefix.isEmpty ? 1 : 0)
+					partpath := StrAstFinder.findNode(partUnit, nodePos) 
+					
+					skipCallProcess := (partpath.last is CType) || (partpath.last is Expr)
+		
+					if( !skipCallProcess ) {
+						Expr? callExpr := partpath.findLast(CallExpr#)
+						if(callExpr != null)
+							partpath = AstPath(partpath.nodes[0..partpath.nodes.index(callExpr)], callExpr.start)
+					}
+					IFanType? type := getType(partpath)
+					
+					if(type == null) {
+						typeof.pod.log.warn("${src[path.last.start..path.last.end]} can't be resolved, prefix - $prefix")
+						return true
+					}
+					
+					if(type.qname == "sys::Void") return true //no slots
+					slots := type.allSlots(ns).findAll(filter(partpath))
+					reportSlots(slots)
+			
+					if(isStatic(partpath) && !slots.any { it.isCtor })
+						reportDefaultCtor
+					return true
+				}
+			}
+		 
+			if( insideString) {				
+				path.findLocals.each { 
+					reportLocal(it.name.text, (it as LocalDef)?.resolvedType?.name, parent)
+				}
+				curType = type(path)
+				if( curType != null) {
+					slots := curType.allSlots(ns).findAll |IFanSlot slot -> Bool| {
+						if (slot.isMethod && slot is DltkMethod) {
+							if( ["Void", "sys::Void"].contains(slot.of)) {
+								return false
+							}
+						}
+						return true
+					}
+					reportSlots(slots)
+				}
+				//types
+				reportNsTypes
+				return true
+			}
+	 }
+	 return false
+	}
+	
+	
+	//////////////////////////////////////////////////////////////////////////
+	// Private methods
+	//////////////////////////////////////////////////////////////////////////
 
-  private Void reportTypeSlots(IFanType? type)
-  {
-    if (type == null) return
+	private |IFanSlot->Bool| filter(AstPath path) {
+		isPound ? |IFanSlot slot->Bool| { true } :
+		(isStatic(path) ? |IFanSlot slot->Bool| { slot.isStatic || slot.isCtor } :
+			|IFanSlot slot->Bool| { !slot.isStatic && !slot.isCtor })
+	}
+	private Bool isStatic(AstPath path) {
+		node := getNode(path)
+		return node is StaticTargetExpr || node is CType
+	}
+	private IFanType? type(AstPath path) {
+		name := (path.find(TypeDef#) as TypeDef).name.text
+		return ns.currPod.findType(name, false)
+	}
 
-    slots := type.allSlots(ns)
-    reportSlots(slots)
-    if(!slots.any{ it.isCtor }) reportDefaultCtor
-  }
-  private Node getNode(AstPath path) {
-    if (!isPound) {
-      slotLiteral := path.findLast(SlotLiteral#) as SlotLiteral
-      if(slotLiteral != null) return slotLiteral
-      if(prefix != "") {
-        return  path[-2]
-      }
-    }
-    return path.last
-  }
-  private IFanType? getType(AstPath path)
-  {
-    return getNode(path)->resolvedType
-  }
+	private Void reportTypeSlots(IFanType? type) {
+		if (type == null) return
+
+		slots := type.allSlots(ns)
+		reportSlots(slots)
+		if(!slots.any{ it.isCtor }) reportDefaultCtor
+	}
+	private Node getNode(AstPath path) {
+		if (!isPound) {
+			slotLiteral := path.findLast(SlotLiteral#) as SlotLiteral
+			if(slotLiteral != null) return slotLiteral
+			if(prefix != "") {
+				return	path[-2]
+			}
+		}
+		return path.last
+	}
+	private IFanType? getType(AstPath path) {
+		return getNode(path)->resolvedType
+	}
 }
-internal class LocalDefCollector: AstVisitor
-{
-  private const Int pos
-  public LocalDef[] defs := [,]
-  new make(Int pos)
-  {
-    this.pos = pos
-  }
-  override Bool enterNode(Node n) {
-    if(n is LocalDef && n.end < pos)
-    {
-      defs.add(n)
-    }
-    return true
-  }
-  override Void exitNode(Node n) {}
+
+internal class LocalDefCollector: AstVisitor {
+	private const Int pos
+	public LocalDef[] defs := [,]
+	new make(Int pos) {
+		this.pos = pos
+	}
+	override Bool enterNode(Node n) {
+		if(n is LocalDef && n.end < pos) {
+			defs.add(n)
+		}
+		return true
+	}
+	override Void exitNode(Node n) {}
 }
-internal class StrAstFinder : AstVisitor
-{
-  private Node[] path
-  private Int? pos
-  private new make(Int? pos := null, Node[] path := Node[,]) 
-  {
-    this.pos = pos
-    this.path = path
-  }
-  
-  static AstPath find(CUnit unit, Int pos)
-  {
-    lfinder := StrAstFinder(pos)
-    unit.accept(lfinder)
-    return AstPath(lfinder.path, pos)
-  }
-  static AstPath findNode(Node node, Int pos)
-  {
-    lfinder := StrAstFinder(pos)
-    node.accept(lfinder)
-    return AstPath(lfinder.path, pos)
-  }
-  
-  override Bool enterNode(Node node)
-  { 
-    path.push(node)
-    return true
-  }
+
+internal class StrAstFinder : AstVisitor {
+	private Node[] path
+	private Int? pos
+
+	private new make(Int? pos := null, Node[] path := Node[,]) {
+		this.pos = pos
+		this.path = path
+	}
+	
+	static AstPath find(CUnit unit, Int pos) {
+		lfinder := StrAstFinder(pos)
+		unit.accept(lfinder)
+		return AstPath(lfinder.path, pos)
+	}
+	static AstPath findNode(Node node, Int pos) {
+		lfinder := StrAstFinder(pos)
+		node.accept(lfinder)
+		return AstPath(lfinder.path, pos)
+	}
+	
+	override Bool enterNode(Node node) { 
+		path.push(node)
+		return true
+	}
 }
diff --git a/com.xored.f4.ui.text/fan/contentassist/UsingCompletionProvider.fan b/com.xored.f4.ui.text/fan/contentassist/UsingCompletionProvider.fan
index c23eb7fa..7dd8a33e 100644
--- a/com.xored.f4.ui.text/fan/contentassist/UsingCompletionProvider.fan
+++ b/com.xored.f4.ui.text/fan/contentassist/UsingCompletionProvider.fan
@@ -1,45 +1,35 @@
-//
-// Copyright (c) 2010 xored software, Inc.
-// Licensed under Eclipse Public License version 1.0
-//
-// History:
-//   Ivan Inozemtsev May 19, 2010 - Initial Contribution
-//
-
 using f4core
 using f4parser
 using f4model
+
 **
 ** Completes pod names and types in usings
 **
-class UsingCompletionProvider : CompletionProvider
-{
-  //////////////////////////////////////////////////////////////////////////
-  // Constructor and overrides
-  //////////////////////////////////////////////////////////////////////////
-  new make(IFanNamespace ns, Str str, CUnit unit) : super(ns, str, unit) {}
-  
-  override Bool setInput(Int pos, Str prefix)
-  {
-    super.setInput(pos, prefix)
-    //We will use very simple technique - if we are outside of type 
-    //and trimmed line starts with 'using'.
-    //the it is our client
-    path := AstFinder.find(unit, pos)
-    if(path.find(TypeDef#) != null) return false
+class UsingCompletionProvider : CompletionProvider {
+
+	//////////////////////////////////////////////////////////////////////////
+	// Constructor and overrides
+	//////////////////////////////////////////////////////////////////////////
+
+	new make(IFanNamespace ns, Str str, CUnit unit) : super(ns, str, unit) {}
+	
+	override Bool setInput(Int pos, Str prefix) {
+		super.setInput(pos, prefix)
+		//We will use very simple technique - if we are outside of type 
+		//and trimmed line starts with 'using'.
+		//the it is our client
+		path := AstFinder.find(unit, pos)
+		if (path.find(TypeDef#) != null) return false
 
-    line := ParseUtil.lineStart(src, pos).trim
-    if(!line.startsWith("using") || line.index("[") != null) return false
-    
-    return true
-  }
-  
-  override Bool complete(CompletionReporter reporter)
-  {
-    super.complete(reporter)
-    reportNsPods
-    return true
-  }
-  
-  
+		line := ParseUtil.lineStart(src, pos).trim
+		if (!line.startsWith("using") || line.index("[") != null) return false
+		
+		return true
+	}
+	
+	override Bool complete(CompletionReporter reporter) {
+		super.complete(reporter)
+		reportNsPods
+		return true
+	}
 }

From 64e023ae1dbe6ce549b7a2815b85d0760eae71f2 Mon Sep 17 00:00:00 2001
From: Steve Eynon <3326741+SlimerDude@users.noreply.github.com>
Date: Fri, 1 Jun 2018 14:53:58 +0100
Subject: [PATCH 10/23] When auto-completing ctors, also include the Type so we
 can autocomplete Type# syntax and enums Fixes #102 Fixes #106

---
 .../fan/contentassist/CompletionProvider.fan               | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/com.xored.f4.ui.text/fan/contentassist/CompletionProvider.fan b/com.xored.f4.ui.text/fan/contentassist/CompletionProvider.fan
index d48de032..d9dab5cf 100644
--- a/com.xored.f4.ui.text/fan/contentassist/CompletionProvider.fan
+++ b/com.xored.f4.ui.text/fan/contentassist/CompletionProvider.fan
@@ -141,19 +141,16 @@ abstract class CompletionProvider {
 				if (constructors && !reporter.ignores(ProposeKind.method) && it.lower.startsWith(prefix.lower)) {
 					IFanType? type := pod.findType(it)
 					if (type != null) {
-						added := false
 						type.methods.each { 
 							if (it.isCtor|| isFromStr(it)) {
-								added = true
 								if( it.name != "make" && it.name != "fromStr")
 									reportMethod(it, type.name + "." + it.name)
 								else
 									reportMethod(it, type.name)
 							}
 						}
-						if( !added) {
-							reportType(type)
-						}
+						// always report the Type too, as it's a useful auto-complete for Types# syntax and enums 
+						reportType(type)
 					}
 				}
 				else {

From 73ce0b636291c8dc12c32b1aee4ba231f9629279 Mon Sep 17 00:00:00 2001
From: Steve Eynon <3326741+SlimerDude@users.noreply.github.com>
Date: Fri, 1 Jun 2018 16:24:40 +0100
Subject: [PATCH 11/23] Add the simple case to Func autocompletes Fixes #103

---
 .../fan/contentassist/CompletionProvider.fan  | 21 ++++++++++++-------
 .../FanMethodCompletionProposal.fan           |  2 +-
 2 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/com.xored.f4.ui.text/fan/contentassist/CompletionProvider.fan b/com.xored.f4.ui.text/fan/contentassist/CompletionProvider.fan
index d9dab5cf..57664542 100644
--- a/com.xored.f4.ui.text/fan/contentassist/CompletionProvider.fan
+++ b/com.xored.f4.ui.text/fan/contentassist/CompletionProvider.fan
@@ -99,27 +99,31 @@ abstract class CompletionProvider {
 			curParams := params[0..< i]
 			allRelatedParams := [curParams]
 			curParams.each |param, index| {
+
 				// generate all variants of Func type
-				if(ParseUtil.isFuncType(param.of)) {
+				if (ParseUtil.isFuncType(param.of)) {
 					relatedTypes := ParseUtil.computeRelatedFuncTypes(param.of)
+					// add basic func param - see https://github.com/xored/f4/issues/103
+					relatedTypes.add("Func")
 					allRelatedParamsSize := allRelatedParams.size
-					relatedTypes[1..-1].each |type| {
-						for(Int j := 0; j < allRelatedParamsSize; ++j) {
+					for (Int j := 0; j < allRelatedParamsSize; ++j) {
+						relatedTypes[1..-1].each |type| {
 							originalRelatedParams := allRelatedParams[j]
-							relatedParams := originalRelatedParams[0..-1]
+							relatedParams := originalRelatedParams.dup
 							originalParam := originalRelatedParams[index]
 							relatedParams[index] = FakeFanParam.fake(originalParam.name, type, originalParam.hasDefault)
 							allRelatedParams.add(relatedParams)
 						}
 					}
+					
 				}
 			}
-			
-			methodName := mname != null?mname:method.name
+
+			methodName := mname != null ? mname : method.name
 			allRelatedParams.each |relatedParams| {
 				proposal := createProposal(ProposeKind.method, methodName, method.me, reporter.computeCaseRelevance(this.prefix, methodName))
 				proposal.setIsConstructor(method.isCtor)
-				if( method is IFfiForeigh) {
+				if (method is IFfiForeigh) {
 					proposal.setForeign(((IFfiForeigh)method).foreign)
 				}
 				proposal.setParameterNames(relatedParams.map{ it.name } as Str[])
@@ -149,7 +153,8 @@ abstract class CompletionProvider {
 									reportMethod(it, type.name)
 							}
 						}
-						// always report the Type too, as it's a useful auto-complete for Types# syntax and enums 
+						// always report the Type too, as it's a useful auto-complete for Types# syntax and enums
+						// see https://github.com/xored/f4/issues/102
 						reportType(type)
 					}
 				}
diff --git a/com.xored.f4.ui.text/fan/contentassist/FanMethodCompletionProposal.fan b/com.xored.f4.ui.text/fan/contentassist/FanMethodCompletionProposal.fan
index fbfbabd7..270ab519 100644
--- a/com.xored.f4.ui.text/fan/contentassist/FanMethodCompletionProposal.fan
+++ b/com.xored.f4.ui.text/fan/contentassist/FanMethodCompletionProposal.fan
@@ -108,7 +108,7 @@ class FanMethodCompletionProposal : ScriptMethodCompletionProposal {
 			 argumentOffset += 1
 		}
 		
-		buffer.add("{	 }")
+		buffer.add("{   }")
 		replacementBuffer.addArgument(argumentOffset, 1)
 		// one space only
 		

From f50db42a09c6d07a67dc00bd7a104517ac9b52f5 Mon Sep 17 00:00:00 2001
From: Steve Eynon <3326741+SlimerDude@users.noreply.github.com>
Date: Fri, 1 Jun 2018 17:26:13 +0100
Subject: [PATCH 12/23] Only suggest facet Types when you've just typed '@'
 Fixes #98

---
 .../fan/contentassist/FacetCompletionProvider.fan  | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/com.xored.f4.ui.text/fan/contentassist/FacetCompletionProvider.fan b/com.xored.f4.ui.text/fan/contentassist/FacetCompletionProvider.fan
index bbf4494b..3ce43902 100644
--- a/com.xored.f4.ui.text/fan/contentassist/FacetCompletionProvider.fan
+++ b/com.xored.f4.ui.text/fan/contentassist/FacetCompletionProvider.fan
@@ -3,7 +3,7 @@ using f4model
 using f4parser
 
 **
-** This provider works when we completing something after "::"
+** This provider works when we completing something after "@"
 **
 class FacetCompletionProvider : CompletionProvider {
 
@@ -15,15 +15,18 @@ class FacetCompletionProvider : CompletionProvider {
 	
 	override Bool setInput(Int pos, Str prefix) {
 		super.setInput(pos, prefix)
-		path = AstFinder.find(unit, pos)
+		path := AstFinder.find(unit, pos)
 		if (path.last is FacetDef) return true
+		
+		// fixes https://github.com/xored/f4/issues/98
+		if (prefix.isEmpty && src[pos] == '@') return true
+
 		return false
 	}
 	
 	override Bool complete(CompletionReporter reporter) {
 		super.complete(reporter)
 		ns.podNames.each {
-			//if( availablePods.contains(it))
 			pod := ns.findPod(it)
 			pod.typeNames.findAll { it.lower.startsWith(prefix.lower) } .each {
 				IFanType? type := pod.findType(it)
@@ -36,9 +39,4 @@ class FacetCompletionProvider : CompletionProvider {
 		}
 		return true
 	}
-
-	//////////////////////////////////////////////////////////////////////////
-	// Provider-spefific privates
-	//////////////////////////////////////////////////////////////////////////
-	private AstPath? path
 }

From ea040d9f0050c9789e35c8ad9ff248d0a5b51d9a Mon Sep 17 00:00:00 2001
From: Steve Eynon <3326741+SlimerDude@users.noreply.github.com>
Date: Sat, 2 Jun 2018 10:03:53 +0100
Subject: [PATCH 13/23] Fix some .pod file locking issues when compiling Java
 code Fixes #77 (again!)

---
 com.xored.f4.builder/fan/InternalBuilder.fan  | 68 ++++++++++---------
 .../com/xored/fanide/core/JStubGenerator.java | 32 ++++-----
 2 files changed, 50 insertions(+), 50 deletions(-)

diff --git a/com.xored.f4.builder/fan/InternalBuilder.fan b/com.xored.f4.builder/fan/InternalBuilder.fan
index e394a3ac..542115a0 100644
--- a/com.xored.f4.builder/fan/InternalBuilder.fan
+++ b/com.xored.f4.builder/fan/InternalBuilder.fan
@@ -33,7 +33,7 @@ class InternalBuilder : Builder {
 		pluginState	:= FanCore.getDefault.getStateLocation
 		pluginDir	:= File.os(pluginState.toOSString).normalize
 		compileDir	:= pluginDir + `compiler/${fp.podName}/`
-		
+
 		// make sure it's empty first
 		compileDir.create
 		compileDir.listFiles.each { it.delete }
@@ -86,41 +86,46 @@ class InternalBuilder : Builder {
 
 			errs := compile(input)
             consumer?.call(logBuf.toStr)
-			if (!errs[0].isEmpty)
+
+			if (errs[0].size > 0)
 				// ensure dumb compiler errs like 'Cannot resolve depend: pod 'afBedSheet' not found' are mapped to build.fan
 				return errs.flatten.map |CompilerErr err -> CompilerErr| {
 					consumer?.call("[ERR] ${fp.podName} - ${err.msg}")
 					return err.file == "CompilerInput" ? CompilerErr(err.msg, bldLoc) : err
 				}
 
-			if (!fp.javaDirs.isEmpty)
-				errs.add(compileJava(consumer, compileDir, resolvedPods))
-			
 			// Compare pod file in output directory to podFile in project and overwrite it if they are different
 			oldPodFile	:= fp.podOutFile
-			newPodFile	:= input.outDir + `${fp.podName}.pod` 
+			newPodFile	:= compileDir + `${fp.podName}.pod` 
+
+			if (!fp.javaDirs.isEmpty)
+				errs.add(compileJava(consumer, compileDir, resolvedPods))
 
 			if (newPodFile.exists) {
+				if (isPodChanged(newPodFile, oldPodFile)) {
+					jp := JavaCore.create(fp.project)
+					jp.getJavaModel.refreshExternalArchives([jp], null)
 
-				// copy pod to outDir
-				consumer?.call("[DEBUG] Copying pod to ${oldPodFile.osPath}")
-				newPodFile.copyTo(oldPodFile, ["overwrite" : true])
+					// FIXME refreshing continually compiles Java code!?
+					// Builder does a zero depth refresh anyway
+//					fp.project.refreshLocal(IResource.DEPTH_INFINITE, NullProgressMonitor())
+					
+					// copy pod to outDir
+					// only copy if different, else we start to build thrash
+					consumer?.call("[DEBUG] Copying pod to ${oldPodFile.osPath}")
+					newPodFile.copyTo(oldPodFile, ["overwrite" : true])
+				}
 
 				// sometimes we re-build just to re-publish, so don't bother checking for pod changes
 				if (fp.prefs.publishPod) {
 					consumer?.call("[DEBUG] Publishing ${newPodFile.name}...")
 					fp.compileEnv.publishPod(newPodFile)
 				}
-
-				if (isPodChanged(newPodFile, oldPodFile)) {
-					jp := JavaCore.create(fp.project)
-					jp.getJavaModel.refreshExternalArchives([jp], null)
-					fp.project.refreshLocal(IResource.DEPTH_INFINITE, NullProgressMonitor())
-				}
-				
-				compileDir.delete
 			}
 			
+			// we often cannot delete the .pod file if we've been generating Java stubs (get an IOErr)
+			// so don't! Delete it when we build again - it all seems fine then.
+//			compileDir.delete
 			return errs.flatten
 			
 		} catch (Err err) {
@@ -155,7 +160,7 @@ class InternalBuilder : Builder {
 			newContent := newPodZip.contents
 			oldContent := oldPodZip.contents
 			
-			if(newPodZip.contents != oldPodZip.contents) return true
+			if (newPodZip.contents != oldPodZip.contents) return true
 			
 			return podContentChanged(newPodZip, oldPodZip)
 			
@@ -163,8 +168,6 @@ class InternalBuilder : Builder {
 			newPodZip?.close
 			oldPodZip?.close
 		}
-			
-		return true
 	}
 	
 	private Bool podContentChanged(Zip newPod, Zip oldPod) {
@@ -183,8 +186,8 @@ class InternalBuilder : Builder {
 	}
 	
 	private Bool metaChanged(File newFile, File oldFile) {
-		Str:Str newProps := newFile.readProps.exclude |v, k| { k.startsWith("build.") }
-		Str:Str oldProps := oldFile.readProps.exclude |v, k| { k.startsWith("build.") }
+		newProps := newFile.readProps.exclude |v, k| { k.startsWith("build.") }
+		oldProps := oldFile.readProps.exclude |v, k| { k.startsWith("build.") }
 		return newProps != oldProps
 	}
 	
@@ -223,29 +226,30 @@ class InternalBuilder : Builder {
 			jmap.put(key, file)
 		}
 		
-		JStubGenerator.generateStubs(podFile.osPath, jtemp.osPath, jmap)
-		jp := JavaCore.create(fp.project)
+		// stub generation often "locks" the pod file so it cannot be updated or deleted
+		// this happens more often when working from flash drives
+		// reading from a different .pod file at least lets us update the original (with the jstubs)
+		newPodFile	:= compileDir + `jstub/${fp.podName}.pod`
+		podFile.copyTo(newPodFile, ["overwrite":true])
+		JStubGenerator.generateStubs(newPodFile.osPath, jtemp.osPath, jmap)
 
-		wc := createJdkConfig("Javac configutation", "javac", jp)
-		entries := (IRuntimeClasspathEntry[]) JavaRuntime.computeUnresolvedRuntimeClasspath(jp)
-		entries = entries.map { JavaRuntime.resolveRuntimeClasspathEntry(it, jp) }.flatten
-		classpath := entries.map { getLocation }.add(jtemp.osPath).join(File.pathSep)
+		classpath := fp.classpath.join(File.pathSep) { it.osPath }
 		javaFiles := listFiles(fp.javaDirs).join(" ") { "\"${it}\"" }
+		jp := JavaCore.create(fp.project)
+		wc := createJdkConfig("Javac configuration", "javac", jp)
 		wc.setAttribute(ExtConsts.ATTR_TOOL_ARGUMENTS, "-d \"${jtemp.osPath}\" -cp \"${classpath}\" ${javaFiles}")
 		launch(wc, consumer)
 
 		wc = createJdkConfig("Jar configuration", "jar", jp)
 		wc.setAttribute(ExtConsts.ATTR_TOOL_ARGUMENTS, "uf \"${podFile.osPath}\" -C \"${jtemp.osPath}\" \".\"")
 		launch(wc, consumer)
-		
-		jtemp.listFiles.each { it.delete }
 
 		return CompilerErr#.emptyList
 	}
 
-	private ILaunchConfigurationWorkingCopy createJdkConfig(Str name,Str exec, IJavaProject jp)	{
+	private ILaunchConfigurationWorkingCopy createJdkConfig(Str name, Str exec, IJavaProject jp)	{
 		wc := createLaunchConfig(ExtConsts.ID_PROGRAM_BUILDER_LAUNCH_CONFIGURATION_TYPE, name)
-		fullExec := JavaRuntime.getVMInstall(jp).getInstallLocation.toStr+(Env.cur.os == "win32" ? "/bin/${exec}.exe" : "/bin/$exec")
+		fullExec := JavaRuntime.getVMInstall(jp).getInstallLocation.toStr + (Env.cur.os == "win32" ? "/bin/${exec}.exe" : "/bin/$exec")
 		wc.setAttribute(ExtConsts.ATTR_LOCATION, fullExec)
 		return wc
 	}
diff --git a/com.xored.fanide.core/src/com/xored/fanide/core/JStubGenerator.java b/com.xored.fanide.core/src/com/xored/fanide/core/JStubGenerator.java
index 0b6ca504..6011bbba 100644
--- a/com.xored.fanide.core/src/com/xored/fanide/core/JStubGenerator.java
+++ b/com.xored.fanide.core/src/com/xored/fanide/core/JStubGenerator.java
@@ -12,6 +12,7 @@
 
 import fan.sys.ClassType;
 import fan.sys.Env;
+import fan.sys.List;
 import fan.sys.LocalFile;
 import fan.sys.Pod;
 import fanx.emit.FPodEmit;
@@ -20,8 +21,9 @@
 import fanx.fcode.FPod;
 import fanx.util.Box;
 
+// Note this only seems to be used by com.xored.f4.builder::InternalBuilder
 public class JStubGenerator {
-	public static void generateStubs(String podFileName, String outDir, Map allPods) {
+	public static void generateStubs(String podFileName, String outDir, Map allPods) throws Exception {
 		File podFile = new File(podFileName);
 		if (!podFile.exists())
 			return;
@@ -37,11 +39,6 @@ public static void generateStubs(String podFileName, String outDir, Map allPods)
 		HashMap map = Pod.storePodsCache();
 		EquinoxEnv env = (EquinoxEnv) Env.cur();
 		try {
-			// clear current pod cache
-			store = FStore.makeZip(podFile);
-			FPod fpod = new FPod(podName, store);
-			fpod.read();
-			Pod pod = new Pod(fpod, new Pod[] {});
 			for (Object key : allPods.keySet()) {
 				Object value = allPods.get(key);
 				if (key instanceof String && value instanceof LocalFile) {
@@ -50,32 +47,31 @@ public static void generateStubs(String podFileName, String outDir, Map allPods)
 			}
 			env.addJStubPod(podName, new BundleFile(podFile));
 
-			ClassType[] types = (ClassType[]) pod.types().toArray(new ClassType[pod.types().sz()]);
+			store = FStore.makeZip(podFile);
+			FPod fpod = new FPod(podName, store);
+			fpod.read();
 
-			// emit pod - we have to read back the pod here because normal
-			// pod loading clears all these tables as soon as Pod$ is emitted
-			FPod fpod2 = new FPod(podName, store);
-			fpod2.read();
-			FPodEmit podEmit = FPodEmit.emit(fpod2);
-			add(podEmit.className, podEmit.classFile, outDirFile);
+			Pod pod = new Pod(fpod, new Pod[] {});
+			List types = pod.types();
 
 			// write out each type to one or more .class files
-			for (int i = 0; i < types.length; ++i) {
-				ClassType type = types[i];
+			for (int i = 0; i < types.size(); ++i) {
+				ClassType type = (ClassType) types.get(i);
 				if (type.isNative())
 					continue;
 
 				FTypeEmit[] emitted = type.emitToClassFiles();
 
-				// write to jar
+				// write to file system
 				for (int j = 0; j < emitted.length; ++j) {
 					FTypeEmit emit = emitted[j];
 					add(emit.className, emit.classFile, outDirFile);
 				}
 			}
 
-		} catch (Throwable e) {
-			e.printStackTrace();
+			FPodEmit podEmit = FPodEmit.emit(fpod);
+			add(podEmit.className, podEmit.classFile, outDirFile);
+
 		} finally {
 			if (store != null) try { store.close(); } catch (IOException e) { /* meh */ }
 			env.removeJStubPod();

From f12e109f07765eb32bdd5415ca9031413639cc92 Mon Sep 17 00:00:00 2001
From: Steve Eynon <3326741+SlimerDude@users.noreply.github.com>
Date: Sun, 3 Jun 2018 18:56:32 +0100
Subject: [PATCH 14/23] Removed project file refreshing post build to prevent
 projects continuously building themselves. Somewhat fixes #110

---
 com.xored.f4.builder/fan/InternalBuilder.fan | 156 ++++++++++---------
 1 file changed, 84 insertions(+), 72 deletions(-)

diff --git a/com.xored.f4.builder/fan/InternalBuilder.fan b/com.xored.f4.builder/fan/InternalBuilder.fan
index 542115a0..3bf894f4 100644
--- a/com.xored.f4.builder/fan/InternalBuilder.fan
+++ b/com.xored.f4.builder/fan/InternalBuilder.fan
@@ -49,7 +49,7 @@ class InternalBuilder : Builder {
 		// Without this, we get compilation errors similar to "pod not found: f4parser".
 		// These aren't actual dependencies and don't seem to be transitive dependencies.
 		// Note that adding them as actual project dependencies also solves the issue,
-		// But because I don't know why I'm loath to do so - hence these 3 little lines.
+		// But because I don't know why, I'm loath to do so - hence these 3 little lines.
 		FantomProjectManager.instance.listProjects.each |p| {
 			resolvedPods[p.podName] = p.podOutFile
 		}
@@ -102,16 +102,26 @@ class InternalBuilder : Builder {
 				errs.add(compileJava(consumer, compileDir, resolvedPods))
 
 			if (newPodFile.exists) {
+				
+				// while isPodChanged() is not absolutely needed, I do see more build thrashing without it,
+				// especially when building F4 itself. Given F4 needs it's pods in the project root dir, it may
+				// due to Builder (superclass) doing a zero depth refresh
 				if (isPodChanged(newPodFile, oldPodFile)) {
-					jp := JavaCore.create(fp.project)
-					jp.getJavaModel.refreshExternalArchives([jp], null)
+					
+					// the old behaviour was thus (see below),
+					// but re-freshing (esp after we'd copied over new pod files)
+					// caused the entire project to re-build, and it would keep on 
+					// rebuilding itself continuously and endlessly. Not ideal!
+					// The Builder (superclass) does a zero depth refresh anyway.
 
-					// FIXME refreshing continually compiles Java code!?
-					// Builder does a zero depth refresh anyway
+//					// refresh Java stuff
+//					jp := JavaCore.create(fp.project)
+//					jp.getJavaModel.refreshExternalArchives([jp], null)
+//
+//					// refresh Fantom stuff
 //					fp.project.refreshLocal(IResource.DEPTH_INFINITE, NullProgressMonitor())
-					
+
 					// copy pod to outDir
-					// only copy if different, else we start to build thrash
 					consumer?.call("[DEBUG] Copying pod to ${oldPodFile.osPath}")
 					newPodFile.copyTo(oldPodFile, ["overwrite" : true])
 				}
@@ -136,71 +146,6 @@ class InternalBuilder : Builder {
 			(input.ns as F4Namespace)?.close
 		}
 	}
-	
-	private Zip? safeZipOpen(File file) {
-		try 	return Zip.open(file)
-		catch	return null
-	}
-	
-	private Bool isPodChanged(File newPod, File oldPod) {
-		if (!oldPod.exists) 
-			return true
-		
-		newPodZip := safeZipOpen(newPod)
-		oldPodZip := safeZipOpen(oldPod)
-		
-		try {
-			if (newPodZip == null) {
-				LogUtil.logErr(pluginId, "$newPod is not valid zip archive", null)
-				return false
-			}
-
-			if (oldPodZip == null) return true
-			
-			newContent := newPodZip.contents
-			oldContent := oldPodZip.contents
-			
-			if (newPodZip.contents != oldPodZip.contents) return true
-			
-			return podContentChanged(newPodZip, oldPodZip)
-			
-		} finally {
-			newPodZip?.close
-			oldPodZip?.close
-		}
-	}
-	
-	private Bool podContentChanged(Zip newPod, Zip oldPod) {
-		newContents := newPod.contents
-		oldContents := oldPod.contents
-		
-		comparators := [
-			`/meta.props` : | File f1, File f2 -> Bool | { metaChanged(f1, f2) } 
-		]
-		
-		def := | File f1, File f2 -> Bool | { binaryChanged(f1, f2) }
-		
-		return newPod.contents.any |newFile, uri| { 
-			(comparators[uri] ?: def)(newFile, oldContents[uri])	
-		}
-	}
-	
-	private Bool metaChanged(File newFile, File oldFile) {
-		newProps := newFile.readProps.exclude |v, k| { k.startsWith("build.") }
-		oldProps := oldFile.readProps.exclude |v, k| { k.startsWith("build.") }
-		return newProps != oldProps
-	}
-	
-	private Bool binaryChanged(File newFile, File oldFile) {
-		Buf b1 := newFile.readAllBuf
-		Buf b2 := oldFile.readAllBuf
-		
-		if (b1.size != b2.size) return true
-		for (i:=0; i < b1.size; i++)
-			if( b1[i] != b2[i]) return true
-						
-		return false
-	}
 
 	private CompilerErr[][] compile(CompilerInput input) {
 		caughtErrs	:= CompilerErr[,]
@@ -269,6 +214,73 @@ class InternalBuilder : Builder {
 		wc.setAttribute(ILaunchManager.ATTR_PRIVATE, true)
 		return wc
 	}
+	
+	// ----
+
+	private Bool isPodChanged(File newPod, File oldPod) {
+		if (!oldPod.exists) 
+			return true
+		
+		newPodZip := safeZipOpen(newPod)
+		oldPodZip := safeZipOpen(oldPod)
+		
+		try {
+			if (newPodZip == null) {
+				LogUtil.logErr(pluginId, "$newPod is not valid zip archive", null)
+				return false
+			}
+
+			if (oldPodZip == null) return true
+			
+			newContent := newPodZip.contents
+			oldContent := oldPodZip.contents
+			
+			if (newPodZip.contents != oldPodZip.contents) return true
+			
+			return podContentChanged(newPodZip, oldPodZip)
+			
+		} finally {
+			newPodZip?.close
+			oldPodZip?.close
+		}
+	}
+
+	private Zip? safeZipOpen(File file) {
+		try 	return Zip.open(file)
+		catch	return null
+	}
+
+	private Bool podContentChanged(Zip newPod, Zip oldPod) {
+		newContents := newPod.contents
+		oldContents := oldPod.contents
+		
+		comparators := [
+			`/meta.props` : | File f1, File f2 -> Bool | { metaChanged(f1, f2) } 
+		]
+		
+		def := | File f1, File f2 -> Bool | { binaryChanged(f1, f2) }
+		
+		return newPod.contents.any |newFile, uri| { 
+			(comparators[uri] ?: def)(newFile, oldContents[uri])	
+		}
+	}
+	
+	private Bool metaChanged(File newFile, File oldFile) {
+		newProps := newFile.readProps.exclude |v, k| { k.startsWith("build.") }
+		oldProps := oldFile.readProps.exclude |v, k| { k.startsWith("build.") }
+		return newProps != oldProps
+	}
+	
+	private Bool binaryChanged(File newFile, File oldFile) {
+		Buf b1 := newFile.readAllBuf
+		Buf b2 := oldFile.readAllBuf
+		
+		if (b1.size != b2.size) return true
+		for (i:=0; i < b1.size; i++)
+			if( b1[i] != b2[i]) return true
+						
+		return false
+	}
 }
 
 

From 452be99b891afe9848648dc531701674ee113da7 Mon Sep 17 00:00:00 2001
From: Steve Eynon <3326741+SlimerDude@users.noreply.github.com>
Date: Sun, 3 Jun 2018 18:57:42 +0100
Subject: [PATCH 15/23] Look for the Java source directory, it may be in the
 project and not FAN_HOME!

---
 .../fan/internal/FanJavaContainer.fan         | 93 ++++++++++---------
 1 file changed, 50 insertions(+), 43 deletions(-)

diff --git a/com.xored.f4.jdt.launching/fan/internal/FanJavaContainer.fan b/com.xored.f4.jdt.launching/fan/internal/FanJavaContainer.fan
index 8c431005..7f788008 100644
--- a/com.xored.f4.jdt.launching/fan/internal/FanJavaContainer.fan
+++ b/com.xored.f4.jdt.launching/fan/internal/FanJavaContainer.fan
@@ -1,11 +1,3 @@
-//
-// Copyright (c) 2010 xored software, Inc.
-// Licensed under Eclipse Public License version 1.0
-//
-// History:
-//	 Ivan Inozemtsev May 25, 2010 - Initial Contribution
-//
-
 using [java] org.eclipse.core.runtime
 using [java] org.eclipse.core.resources::IProject
 using [java] org.eclipse.dltk.core
@@ -14,11 +6,21 @@ using [java] org.eclipse.jdt.core
 
 using f4core
 
+**
+** This adds .jars to the "Fantom Native Libraries (Java)"
+** 
 class FanJavaContainer : IClasspathContainer {
 	private IPath path
 	private IInterpreterInstall install
 	private IScriptProject project
 
+	** Dirs with jars relative to fan.home
+	private const Uri[] jarDirs := [
+		`lib/java/`,
+		`lib/java/ext/`,
+		`lib/java/ext/$Env.cur.os-$Env.cur.arch/`
+	]
+	
 	new make(IInterpreterInstall fan, IPath path, IScriptProject project) {
 		this.install = fan
 		this.path = path
@@ -27,65 +29,70 @@ class FanJavaContainer : IClasspathContainer {
 	
 	override IClasspathEntry?[]? getClasspathEntries() {
 		install := ScriptRuntime.getInterpreterInstall(project)
-		if(install == null) return IClasspathEntry?[,]
-		if(this.install != install) this.install = install
+		if (install == null) return IClasspathEntry?[,]
+		if (this.install != install) this.install = install
 		
 		IClasspathEntry?[] cpEntries := 
 			jarDirs.map |Uri loc -> File[]| {
-				(home + loc).toFile.listFiles.findAll { it.ext == "jar" }
+				(home + loc).listFiles.findAll { it.ext == "jar" }
 			}.flatten.map |File f -> IClasspathEntry?| {
-				createLibrary(f.normalize,f.basename)
+				createLibrary(f.normalize, home + `src/${f.basename}/java/`)	// maybe it's a core Fantom pod
 			}
 		
-		try {
-			FantomProject fp := FantomProjectManager.instance[project.getProject]
-			fp.classpathDepends.each |loc, name| {
-				podFP := FantomProjectManager.instance.getByPod(name)
-				if (podFP != null) {
-					IProject prj := podFP.project
-					if (prj.hasNature("org.eclipse.jdt.core.javanature")) {
-					 // Do not need to add entry
-						return
-					}
+		FantomProject fp := FantomProjectManager.instance[project.getProject]
+		fp.classpathDepends.each |loc, name| {
+			podFP := FantomProjectManager.instance.getByPod(name)
+			if (podFP != null) {
+				IProject prj := podFP.project
+				if (prj.hasNature("org.eclipse.jdt.core.javanature")) {
+					// do not need to add entry
+					return
 				}
-				
-				if(isJavaPod(loc))
-					cpEntries.add(createLibrary(loc,name))
 			}
-
-			if (!fp.javaDirs.isEmpty)
-				cpEntries.add(createLibrary(fp.podOutFile, fp.podName))
+			
+			if (isJavaPod(loc))
+				cpEntries.add(createLibrary(loc, loc))
 		}
-		catch (Err e) {
-			// TODO: This should not happen
-//			e.trace
+
+		if (!fp.javaDirs.isEmpty) {
+			// guess where the source root is. Sometimes we have a Java package hierarchy, sometimes we don't
+			// not that this seems to work!
+			javaDir := fp.javaDirs.first
+			if (javaDir.path.last == fp.podName)
+				javaDir = javaDir.parent
+			if (javaDir?.path?.last == "fan")
+				javaDir = javaDir?.parent ?: `` 
+			cpEntries.add(createLibrary(fp.podOutFile, fp.projectDir + javaDir))
 		}
+
 		return cpEntries
 	}
 	
-	private Uri home() { PathUtil.fanHome(install.getInstallLocation.getPath) }
+	private File home() { PathUtil.fanHome(install.getInstallLocation.getPath).toFile }
 	
-	private IClasspathEntry createLibrary(File podFile,Str podName) {
-		return JavaCore.newLibraryEntry(
-			Path(podFile.osPath),
-			Path((home + `src/$podName/java/`).toFile.osPath),
+	private IClasspathEntry createLibrary(File podFile, File? srcFile) {
+		JavaCore.newLibraryEntry(
+			Path(podFile.normalize.osPath),
+			Path(srcFile.normalize.osPath),
 			Path("")
 		)
 	}
 	
 	private static Bool isJavaPod(File f) {
 		if (!f.exists) return false
-		zip := Zip.open(f)
+		
+		zip := Zip.read(f.in)
 		try {
-			return zip.contents.keys.any { ext == "class" }
-		} finally {
+			File? entry
+			isJava := false
+			while (!isJava && (entry = zip.readNext) != null) {
+				isJava = entry.ext == "class"
+			}
+			return isJava
+		} finally
 			zip.close
-		}
 	}
 	
-	** Dirs with jars relative to fan.home
-	private const Uri[] jarDirs := [`lib/java/ext/`, `lib/java/`, `lib/java/ext/$Env.cur.os-$Env.cur.arch/`] 
-	
 	override Int getKind() { K_APPLICATION }
 	
 	override IPath? getPath() { path }

From 4f6d6c436616189432bde70d0d876a3846f7adcb Mon Sep 17 00:00:00 2001
From: Steve Eynon <3326741+SlimerDude@users.noreply.github.com>
Date: Sun, 3 Jun 2018 18:58:07 +0100
Subject: [PATCH 16/23] podDis is a more descricptive name

---
 .../src/com/xored/fanide/core/BuildFan.java            | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/com.xored.fanide.core/src/com/xored/fanide/core/BuildFan.java b/com.xored.fanide.core/src/com/xored/fanide/core/BuildFan.java
index a252b164..0297cc64 100644
--- a/com.xored.fanide.core/src/com/xored/fanide/core/BuildFan.java
+++ b/com.xored.fanide.core/src/com/xored/fanide/core/BuildFan.java
@@ -238,19 +238,19 @@ private static StringBuilder read(IFile file) throws CoreException,
 		}
 	}
 
-	public static String generateContent(String podName, String srcDirs, String javaDirs) {
+	public static String generateContent(String podDis, String srcDirs, String javaDirs) {
 		List sb = new ArrayList();
 		sb.add("using build");
 		sb.add("");
 		sb.add("class Build : BuildPod {");
 		sb.add("");
 		sb.add("\tnew make() {");
-		sb.add("\t\tpodName = \"" + fromProjectName(podName) + "\"");
-		sb.add("\t\tsummary = \"My Awesome " + podName + " Project\"");
+		sb.add("\t\tpodName = \"" + fromPodDis(podDis) + "\"");
+		sb.add("\t\tsummary = \"My Awesome " + podDis + " Project\"");
 		sb.add("\t\tversion = Version(\"1.0\")");
 		sb.add("");
 		sb.add("\t\tmeta = [");
-		sb.add("\t\t\t\"pod.dis\" : \"" + podName + "\"");
+		sb.add("\t\t\t\"pod.dis\" : \"" + podDis + "\"");
 		sb.add("\t\t]");
 		sb.add("");
 		sb.add("\t\tdepends = [");
@@ -270,7 +270,7 @@ public static String generateContent(String podName, String srcDirs, String java
 	}
 
 	// Nicked from Fantom's Str.fromDisplayName()
-	private static String fromProjectName(String self) {
+	private static String fromPodDis(String self) {
 		if (self.length() == 0) return "";
 		StringBuilder s = new StringBuilder(self.length());
 		int c = self.charAt(0);

From aa48da06436980f6e86661d95c432d7fb8ae9b79 Mon Sep 17 00:00:00 2001
From: Steve Eynon <3326741+SlimerDude@users.noreply.github.com>
Date: Sun, 3 Jun 2018 19:06:15 +0100
Subject: [PATCH 17/23] Opted to change the default Fantom build directory to
 'build/' to keep it different to the Java default and fix #110

---
 com.xored.f4.core/fan/manifest/ProjectPrefs.fan | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/com.xored.f4.core/fan/manifest/ProjectPrefs.fan b/com.xored.f4.core/fan/manifest/ProjectPrefs.fan
index 999632f4..4736f87e 100644
--- a/com.xored.f4.core/fan/manifest/ProjectPrefs.fan
+++ b/com.xored.f4.core/fan/manifest/ProjectPrefs.fan
@@ -46,7 +46,9 @@ class ProjectPrefs {
 class ProjectPrefsInitializer : AbstractPreferenceInitializer {
 	override Void initializeDefaultPreferences() {
 		store := DefaultScope().getNode(ProjectPrefs.qualifier)
-		store.put		(ProjectPrefs.podOutputDirName,			"bin/")
+		// keep the default Fantom build directory different to the default Java build directory
+		// so we can compile native java Peer classes. See https://github.com/xored/f4/issues/110
+		store.put		(ProjectPrefs.podOutputDirName,			"build/")
 		store.putBoolean(ProjectPrefs.useExternalBuilderName,	false)
 		store.putBoolean(ProjectPrefs.buildDependantsName,		true)
 		store.putBoolean(ProjectPrefs.publishPodName,			false)

From 0e11d25322978b18effcb96ba0935bd0310f8c38 Mon Sep 17 00:00:00 2001
From: Steve Eynon <3326741+SlimerDude@users.noreply.github.com>
Date: Sun, 3 Jun 2018 19:06:42 +0100
Subject: [PATCH 18/23] Code tidy

---
 .../fan/contentassist/CompletionProvider.fan  | 25 +++++++++----------
 .../contentassist/DotCompletionProvider.fan   | 10 +++++---
 .../fan/contentassist/GreedyProvider.fan      |  2 +-
 3 files changed, 20 insertions(+), 17 deletions(-)

diff --git a/com.xored.f4.ui.text/fan/contentassist/CompletionProvider.fan b/com.xored.f4.ui.text/fan/contentassist/CompletionProvider.fan
index 57664542..c3286be9 100644
--- a/com.xored.f4.ui.text/fan/contentassist/CompletionProvider.fan
+++ b/com.xored.f4.ui.text/fan/contentassist/CompletionProvider.fan
@@ -74,8 +74,8 @@ abstract class CompletionProvider {
 	protected Void reportSlots(IFanSlot[] slots) {
 		slots = slots.findAll { it.name.lower.startsWith(prefix.lower) }
 		slots.each |slot| {
-			if(slot.isField) reportField(slot)
-			else if(slot.isMethod) reportMethod(slot) 
+			if (slot.isField) reportField(slot)
+			else if (slot.isMethod) reportMethod(slot) 
 		}
 	}
 
@@ -90,7 +90,7 @@ abstract class CompletionProvider {
 	protected Void reportMethod(IFanMethod method, Str? mname := null) {
 		params := method.params
 	 
-		if(reporter.ignores(ProposeKind.method)) return
+		if (reporter.ignores(ProposeKind.method)) return
 
 		required := params.findIndex { it.hasDefault }
 		if (required == null) { required = params.size }
@@ -115,7 +115,6 @@ abstract class CompletionProvider {
 							allRelatedParams.add(relatedParams)
 						}
 					}
-					
 				}
 			}
 
@@ -126,7 +125,7 @@ abstract class CompletionProvider {
 				if (method is IFfiForeigh) {
 					proposal.setForeign(((IFfiForeigh)method).foreign)
 				}
-				proposal.setParameterNames(relatedParams.map{ it.name } as Str[])
+				proposal.setParameterNames(relatedParams.map { it.name } as Str[])
 				proposal.setExtraInfo(FanMethodCompletionProposalExtraInfo(method, relatedParams))
 				reporter.report(proposal)
 			}
@@ -146,11 +145,11 @@ abstract class CompletionProvider {
 					IFanType? type := pod.findType(it)
 					if (type != null) {
 						type.methods.each { 
-							if (it.isCtor|| isFromStr(it)) {
-								if( it.name != "make" && it.name != "fromStr")
-									reportMethod(it, type.name + "." + it.name)
-								else
+							if (it.isCtor || isFromStr(it)) {
+								if (it.name == "make" || it.name == "fromStr")
 									reportMethod(it, type.name)
+								else
+									reportMethod(it, type.name + "." + it.name)
 							}
 						}
 						// always report the Type too, as it's a useful auto-complete for Types# syntax and enums
@@ -165,12 +164,12 @@ abstract class CompletionProvider {
 						if( type != null) {
 							added := false
 							type.methods.each { 
-								if( it.isCtor|| isFromStr(it)) {
+								if (it.isCtor || isFromStr(it)) {
 									added = true
-									if( it.name != "make" && it.name != "fromStr")
-										reportMethod(it, type.name + "." + it.name)
-									else
+									if (it.name == "make" || it.name == "fromStr")
 										reportMethod(it, type.name)
+									else
+										reportMethod(it, type.name + "." + it.name)
 								}
 							}
 							if (!added) {
diff --git a/com.xored.f4.ui.text/fan/contentassist/DotCompletionProvider.fan b/com.xored.f4.ui.text/fan/contentassist/DotCompletionProvider.fan
index 750541ec..0c29c8da 100644
--- a/com.xored.f4.ui.text/fan/contentassist/DotCompletionProvider.fan
+++ b/com.xored.f4.ui.text/fan/contentassist/DotCompletionProvider.fan
@@ -116,8 +116,12 @@ class DotCompletionProvider : CompletionProvider {
 	}
 
 	private |IFanSlot->Bool| filter() {
-		isPound ? |IFanSlot slot->Bool| { true } :
-		(isStatic ? |IFanSlot slot->Bool| { slot.isStatic || slot.isCtor } :
-			|IFanSlot slot->Bool| { !slot.isStatic && !slot.isCtor })
+		isPound
+			? |IFanSlot slot->Bool| { true }
+			: (
+				isStatic
+					? |IFanSlot slot->Bool| {  slot.isStatic ||  slot.isCtor }
+					: |IFanSlot slot->Bool| { !slot.isStatic && !slot.isCtor }
+			)
 	}
 }
\ No newline at end of file
diff --git a/com.xored.f4.ui.text/fan/contentassist/GreedyProvider.fan b/com.xored.f4.ui.text/fan/contentassist/GreedyProvider.fan
index f5b9815b..0a03124a 100644
--- a/com.xored.f4.ui.text/fan/contentassist/GreedyProvider.fan
+++ b/com.xored.f4.ui.text/fan/contentassist/GreedyProvider.fan
@@ -105,6 +105,6 @@ class GreedyProvider : CompletionProvider {
 
 		slots := type.allSlots(ns)
 		reportSlots(slots)
-		if (!slots.any{ it.isCtor }) reportDefaultCtor
+		if (!slots.any { it.isCtor }) reportDefaultCtor
 	}
 }

From 9c595e4156955752ee36b9f5e89de9a4d46a37fc Mon Sep 17 00:00:00 2001
From: Steve Eynon <3326741+SlimerDude@users.noreply.github.com>
Date: Sun, 3 Jun 2018 19:07:05 +0100
Subject: [PATCH 19/23] Pref page sentence no longer true

---
 com.xored.f4.builder.ui/fan/EnvPreferencePage.fan | 1 -
 1 file changed, 1 deletion(-)

diff --git a/com.xored.f4.builder.ui/fan/EnvPreferencePage.fan b/com.xored.f4.builder.ui/fan/EnvPreferencePage.fan
index 1606a4cf..e88e1290 100644
--- a/com.xored.f4.builder.ui/fan/EnvPreferencePage.fan
+++ b/com.xored.f4.builder.ui/fan/EnvPreferencePage.fan
@@ -92,7 +92,6 @@ class EnvOptionsBlock : AbstractOptionsBlock {
 		SWTFactory.createLabel(composite, "Pods are published to the selected Fantom environment...", 1)
 		SWTFactory.createLabel(composite, " - 'None' - pods are copied to %FAN_HOME%/lib/fan/", 1)
 		SWTFactory.createLabel(composite, " - 'util::PathEnv' - pods are copied to %FAN_ENV_PATH%/lib/fan/", 1)
-		SWTFactory.createLabel(composite, "Publish directory may be overridden by specifying 'outPodDir' in 'build.fan'", 1)
 
 		return composite
 	}

From 048aee0c602339107e657165e83a3baa35192f16 Mon Sep 17 00:00:00 2001
From: Steve Eynon <3326741+SlimerDude@users.noreply.github.com>
Date: Sun, 3 Jun 2018 22:05:15 +0100
Subject: [PATCH 20/23] Map pre-compile errors to build.fan Fixes #105

---
 com.xored.f4.builder/fan/InternalBuilder.fan | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/com.xored.f4.builder/fan/InternalBuilder.fan b/com.xored.f4.builder/fan/InternalBuilder.fan
index 3bf894f4..b1afd965 100644
--- a/com.xored.f4.builder/fan/InternalBuilder.fan
+++ b/com.xored.f4.builder/fan/InternalBuilder.fan
@@ -140,6 +140,7 @@ class InternalBuilder : Builder {
 			
 		} catch (Err err) {
 			logger.err("Could not compile ${fp.podName}", err)
+			LogUtil.logErr(pluginId, "${err.typeof.qname} during build - ${err.msg}", err)
 			throw err
 
 		} finally {
@@ -151,12 +152,12 @@ class InternalBuilder : Builder {
 		caughtErrs	:= CompilerErr[,]
 		compiler	:= Compiler(input)
 		
-		try compiler.compile	
+		try compiler.compile
 		catch (CompilerErr e) caughtErrs.add(e) 
 		catch (IOErr e)       caughtErrs.add(CompilerErr(e.msg, null))
 		catch (Err e) {
 			LogUtil.logErr(pluginId, "${e.typeof.qname} during build - ${e.msg}", e)
-			caughtErrs.add(CompilerErr("${e.typeof.qname} ${e.msg} - see Error Log View for details", null))
+			caughtErrs.add(CompilerErr("${e.typeof.qname} ${e.msg} - see Error Log View for details", Loc("CompilerInput")))
 		}
 		return [caughtErrs.addAll(compiler.errs), compiler.warns]
 	}

From c8f34fd2f304f713dddd79cd785d0bf4a640bd4e Mon Sep 17 00:00:00 2001
From: Steve Eynon <3326741+SlimerDude@users.noreply.github.com>
Date: Sun, 3 Jun 2018 19:07:05 +0100
Subject: [PATCH 21/23] New pods

---
 com.xored.f4.astView/f4astView.pod            | Bin 14938 -> 14942 bytes
 com.xored.f4.builder.ui/f4builderUI.pod       | Bin 12632 -> 12643 bytes
 com.xored.f4.builder/f4builder.pod            | Bin 75456 -> 74389 bytes
 com.xored.f4.core/f4core.pod                  | Bin 161759 -> 161837 bytes
 com.xored.f4.debug.ui/f4debugUi.pod           | Bin 61686 -> 61692 bytes
 com.xored.f4.debug/f4debug.pod                | Bin 7336 -> 7343 bytes
 com.xored.f4.fcode.ui/f4fcodeUi.pod           | Bin 40241 -> 40247 bytes
 com.xored.f4.fcode/f4fcode.pod                | Bin 13820 -> 13826 bytes
 .../f4jdtLaunchingUI.pod                      | Bin 14866 -> 14871 bytes
 com.xored.f4.jdt.launching/f4jdtLaunching.pod | Bin 25973 -> 25910 bytes
 com.xored.f4.launchEnv/f4launchEnv.pod        | Bin 5327 -> 5334 bytes
 com.xored.f4.launching/f4launching.pod        | Bin 24555 -> 24560 bytes
 com.xored.f4.model/f4model.pod                | Bin 24981 -> 24987 bytes
 com.xored.f4.parser/f4parser.pod              | Bin 273680 -> 273666 bytes
 com.xored.f4.pathEnv/f4pathEnv.pod            | Bin 15750 -> 15673 bytes
 com.xored.f4.search/f4search.pod              | Bin 54216 -> 54203 bytes
 com.xored.f4.testing/f4testing.pod            | Bin 24396 -> 24402 bytes
 com.xored.f4.ui.core/f4uiCore.pod             | Bin 55928 -> 55937 bytes
 com.xored.f4.ui.jdt/f4uiJdt.pod               | Bin 16066 -> 16069 bytes
 com.xored.f4.ui.text/f4uiText.pod             | Bin 188853 -> 187030 bytes
 20 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/com.xored.f4.astView/f4astView.pod b/com.xored.f4.astView/f4astView.pod
index 6e245e67d0258782e5f2a3fdc48ce8d91919d970..34201a71120afb56afeb253f2102fb2d4d14fd3b 100644
GIT binary patch
delta 1360
zcmcara<7Chz?+#xgn@&DgTZ6!VV{Y7GWBQkS`#;W1-MQs{yK*&R
zj7|QucAxw4Z7H9b+TD+`eBZgRTSrFbHTdct|FQ5v)hA9}fdI?X8Lr!O4mM9cQE*gg
z!Tqc-tMa_(0T|M<<9
zHtn*g?|BpY@aRvUXIIX+t>tO)QQ9=?!akK)&soNA+qcPOe0O-^;PLU@nv!qlYnrEC
zoL91BVQutfy?BoFJ(n^+F`;5+h|XTo?-0ojF>$EmVsTlh&La}%Ad=H0=n7?RRC0r=_^te&#d*#qpUv-7rZYlVooY)UtjUHN&mlrGnzP_S
z;+rpOEnB7%4%xen4*42Ayr~pp&*WF8o+=<0yh-Ov(*fEp!Hn*L_dpX;@+VKU5S^?b
z%{F_82lf#D*JVn^EKxn^1rJ5HNPF>agu%nTZb+~!hj6M%sTG)_-b
zZnCF2G%(`Lr5Kk?t}=%zn-Ap1P2Od$tpIYFTWx0>2hbv3phduphy<1^P2R60Hd)$&
z2V$GHg%sn*$!-?v;8Zuc5XgNpxyM3N9+Yy~`}^i40gX`vdQbw%5C(?&$yZ=n{sXnB
zPnNQjgP34rDa9nDIay0nb#kpG4@9ij5){=dU`kE_xw(^{T53RK1+AnQ4JPYYX|VYi
Hf-C_5+sM)?

delta 1518
zcmY*Z3rtg27(TbWs(sKgo|nGh7Hmt$XiH1Wm|0{x1T#2`k5_MP9QN3>sns=FN6uYV9
zt%h~Q1E$UY)X$gHGj+f1mi%(re$ZQ5fA`EWtH$CR`YyrQx%NiG7u8j#{1pSA)Y^1^
zrv7Sp)i%1lxoysRS8+Yekf7Im`|h@hm*
z0~H@!JZ7Kj>I|%wFlYBS7k9fJyfG0O*xvK7C;Z;l>-xb}ae<^;iRDc>Zk4{T>&?Xl
z_j`2_WBJ`4RZ&5NFg{)I%^X4qC>cWho_KSpqhX%ENkeY&8Q^pxN4-S9`GBJi2HZ3DRl>Hi{M{#GI7iX5X{sHjt=wcIvuME)CA28DFp(t=Hook^
z!iUvZrYjVoD4xt|75G%qX+;H;AR148>3{ZD{tnF|2F_s;e*mS>m&FYrkVR8xKxkvg
zGoH55f&c>&4b78dH{RoMIR~>pWza|w9%-S&
zjlp@C%U^5;ly)WIJ!hu{QXQo0Qe^-C43-ZrJ59Af%Mx@LyYIj~yEdpkn7#hOEv(*z
T)nitkge?PPWNX9ojBM~ftIo5J

diff --git a/com.xored.f4.builder.ui/f4builderUI.pod b/com.xored.f4.builder.ui/f4builderUI.pod
index a7701699b5efc3224742781c0cb64ca35c387281..2ecb471755d287e19540f3c29dedfdaad8085f8b 100644
GIT binary patch
delta 5899
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
Qpd*LN@RMONL#{RaAD<2=Pyhe`

delta 5899
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
Z6Uu*%`PE%me#6M2FJFcbGYOpy{tvjz?9BiG

diff --git a/com.xored.f4.builder/f4builder.pod b/com.xored.f4.builder/f4builder.pod
index 1a8c4951c0bf0af731be06dbaff09568e9847d6f..3aa8379ef252c7b56cd6a1c417f09a871859c8c9 100644
GIT binary patch
delta 47556
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≶r+EB6n25)!U7Q&K-
ze_7;d0ae>EjvnTh$_$#X`3?~5=OQoE?^>U-voAzH2+_AUUj#B@Jx
z#tDtAu9NC7EVX1gV}Ca27{(=T_~Pg1fvS2pr+w);#rVsI7U@4RG2c?x6?;np#Fx;y
zT)EuRgjkN+IKA>O)^y(V-u1*q55@4Q>5it(Sh75pD{6XWK$b**^64c=e^PAl6)g{O8
z4j2<7xGmj|`w`P0nZBgTeb3E+yGDIhTdjXvhtY>l{kAs;&#W6;66w$TtYQ#%w@-J9
z;WH7*yRW%lZ85$w)DNPjc7B6njwz4wQ9=>8AGi?T0!$hdoms_($%iX8$ph`+Z}i
zLRz+cmGVr>`wJ;Iw^wvscd2BnzwI1m7V5lfAVuwAn!UvOfx-j^hLSa(V^^ZR+LPCS
zzTv{N5~gy$xbM=;Ds~_Js_dGfMEg7&+;Opt$U5~zGGejC<5P%m
z%Q=ZW0^>VE?#aBIV_#|4Trr8;)mU~zVDX*G7F(}7@vII~?A?qH7W8Oj`=mhR%{RWe
z!MPy|8Z_n;jyYwnOmmB7rxhg9dfVeW?_F8n5t)=L|D7|U{bdJJX}}wkSo&#a;cDg$
zIZnfhUN$leXs_9e3&jJ85wqQ|XhdJ!b2i;jirC9N2^VX
zca3ebm?rSN^-qslo4>fs?UsNnlu780c|6ark}g&FvEpQ8^KfN
zW*Rn6m9KV~sh%&&{qTsEzIS-3AGRdDBaA(pOg`PM(@|4SpUUw4;qUeQ
z-w)4Zcl$-!9Az$@lCTf=ihTI%H-%>MUO0Y{y>qxr6j1@)d#D@-oq<=@{}
zdFx$5TKXxy>a}6JZV7R5*3>5`cPB3zJR|xFc3Swx3%nnbX)*~KREYg(VE@beFr)i%
zt$E-24R_r>3)&V5yngw+Tsd|isVcAG++cgvW*8qrX2TkSl=-2$4WWWt>Jjuq!TzlOniL
z{&oryJp|doj0DPnk^7Wn_}PvY?$bdubb&_kdkuIbQ4x$BVSiJ020W2I4Ed762LJte
zDHB7K;ZmF>g0jO$|MTZ9iSi=aAXgIQ$GDifT-c>d1J{~2kbI3&{%(RU2*Q?7f08nZ
z01hcs1WRj4p}d4ZSWNGI!Jc075uv_ea-Lq^|M0RpMVO-f0XHpuU@7nwvh=^a;n5*p
z|8HgIl+{sIVN!K^ixeHBf+ZP;7aqATgbK7^h+e}5D)|3)Rp5&krUsJT1M8-@`;P$6=7Oi#H
z6+?jltW$h3zkn0Us3@jD=jM*KhC)CfY#m;l)IHfCPXV4e98pGD=}497A!FDMek-G#
z==ogY#aw>OYGADwoM9Kv4>^_pr$X(4n+ht5fi}8desK)~jzCWMu5=SzRzbzEGB@-k
ze0u_3sh}Ka;T2-}6`udJMRG0^>vbro6eP6~C-8M3ql$`Sykv&zcYDEy5%9u;u7Cp&
zgz@^Eyt&5?+dfd
zXse;}7$sMKLATvdN@1uFcp+RtiW*tcpOXu^^Dw(FYy-S$UIDFYWFx5S$*(^GLB}99
zk-xm)e_9np!wS*AmfrbV_^xa4eha+t%^7@+7<_#r@zgbnabfvp)`Q&;=?gDBUGM7<
zEh_VGN4V0@($NXQr1SWA)4+NItf-U4HF<2_&jO7{7qo|XArvctJn1C&ZVj@{J|;S^
zPy`9K!ix`He}Adf#Pn(bP_BV8V68PDfkqXBM;cHwVrpQaxxlOj*?27PyyZ0n&G|SS
zrt$m^L3XGVro9=x!q0(+Cd#?4@X4Q%tC9s}2cEJhGu9RK`?X%D!-Cnsrr7*f5cps8
zQ*hc8e&I8wNfx_EawazvLW?03Uk|R0#DGR#PzwiCObLX#rX)fjiOcZ9cURa`waBL9
zw9IBtV@RsxKbq16^0mn7TJBEUngL#EL3OnSqgrGmq29)Q_ak7@hSeh0LR5g?80l-1
zS+jo%e;*EojE0o)tgV2bHhBQqK0>wG2!a;ig*OuD8&CmJSSbPyD@u}#4n0KStL8YE
z(MHv<`djBn+!q5ux8NlKufM;SCgYyA>T~r67`Kq*YsDTVp
z#DP@1F`D4EE_qluJ4AK&H-r!%J!u?tXAhh|hyx)#lno;~V7d5h2qJ?2gS_4gk+L9O
zk38xsW>lC(
zTqWfA(^&XvJi2G>f3#mi+L)qZp_svpA?#lD+Dfr)?IH)v2H8I_y491HG@q8wcBt=YK?Ua;}WbvKS6nGe;YM7FcqPT)f
z#!yM#Ph;6%8lyrOBg)9A`0TYae~=qsoLAca48fGaN%2a34Y-@2S{QlC5TAI^?JvN?
z1QjPmF{1cOYj7K1WYBc96PAFI&$KU7FD6#>guNagU))kij4
z$x1>Qh*0IPhQR;gK*Cnk7^_^$Ab+YjP|gx;J9%Q=5*^?*Lm4ocNg@7#ycy(H{fqPz
zM4F-O7#+&Ed3a?jSSHCO2%61MZcKS8W8>kwa4A5{QEiMKW#l`2e>nOZa^?pxe%>lM
z%D`~=Vmg6Jb8;~$LzOAuidl?+R~9HgNVkCB-@+hrs~wCo5EvdG2o6}F`dC3ILtn|`
zh{k|63ses)2xS~8Jg9puiL(^gX^FC7?{xK%f5SN8XCLD<2oR=+OO!C|)GC%Th!P%q
zkCu#uVV`KhtR>2T5vPo!gwK#cN6w&RMJ7%ey$FxpvyP07`GY0J6FLeD52r%^OqrDE
zF)SZ=VMSISV;EZp^jo2v)GMpcI7s1!R%@Ix5RC|~GL3=0HL8f!I7L7hD*U*%52Rb8
zDp*M=gQnm?N{mn(h6B18BlSP8pimL;+NB1%9mv{6;U@DR(ClUeeAtZe0{tCib4BSO5>HS;
z5&`^@5KC%Rto|vzCgQQsk0kJyf>;|^|Cpd84~Bmn7~-)n;b980ppX_1CF24Ya6YNQ}$_VjNE+^1;BEKk8
zdh)`*ZKr@ZCsZ2i&?IkNpwbD>7Ivuuf)jK&HQ+?Ht(4xW@Ww+%4FNoAh|u4+GfE#+
zcpH)c+?-JvOid}>OW{F58o=Edeju%}gFNvfd6NPkoS~gD(nNrQCL;B>H7T7nN#cx}
zkQRpB1P<&Xmx0n<5+2K~O~y9;!BV;)!jC1aIv92%$(0f#){NwgR1yi9koV4yEU9DkPHUa_b88W3gJ|2
z3h20@@|ZeP9;(F8C!}pbDnwyyDbFF|YYw$Tz_cx*0M@&c1;u-NmAQ^x;v_j
zNke%O4sT}Of)w{Z(=LiLZus>d576aKeu<aK*g{nw#i{QI^!2wgTa@*s5nNHXCKN-eR?+n4(~>I|MN=wi+GT536hwG7ry0ELEJu6
z0V7cfNg&anWgodPS?8n&Nq%=otNwU%dL1x(qS9C5XxIsO{VroTsq6S~H8-2i}C%Oq^#Nq{|n*g$2s2rBw1Jkqz{SYe8;C)2l
z5KeI33uVQgl))#|_x%y@&>vw3eO~1KxX+~9y8;ogClKNK&(^D=HzfZMSbL+27?A{0
zx)S7iqk>qvo|GN|J>IL0c78uhN&>$9uPyQ3VWSBzZ?3fuLb{;b$O9;IuC)iLt)#
z3rWYsgEPJ;2blInd9b_d{h$DmV6z{2pVp3)b_aoe0>1IZSmf|PCo&4H*PG6mKLL7gNWI*<*5x66U~pR_+rQ}buSS4Pr@Ll=Wk
zDcT_zfhR0Gf7B1)Q
z5ky&^@RKL2zu$EHyQpsp=0afci9qE5YJ|*!r~{}Ds`(z=hJTsvb*+*nZI3!chkyeS
zP(wLFQ67|e04Ro{M(aa{RuNmgeMvI1gR}4{+-ax?MYWI@U_2BxK|FzM7^*`f2{#ME
zLV-{;Y`ml}R2JU96^0s8-&jNdVG&NVH-@89)WN?Hp!W-Y8nBy`np{S}-DUW!1g4M{
z@H!kdqPAU&0>QO#V*qAg28I!kVFcJ60XcmD`4Q+Al$#BFia>3U7@!%68lh{rz~M+#
o2dM^kBT)m0T_U9lfkqUnhZKOQC^*ad2yREAqBO}8(AZG@A6r(xdH?_b

delta 85863
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
R7DF*aZE}N*CR;yP5C90mHUj_v

diff --git a/com.xored.f4.fcode.ui/f4fcodeUi.pod b/com.xored.f4.fcode.ui/f4fcodeUi.pod
index b662bfe6550fbaa1c7adf2dd52ac59dc144e88ad..2a77c14a58d56872531799e9e234f0f228e64d02 100644
GIT binary patch
delta 2759
zcmZuy3s4hR6x|IUQwg9DLRcXQC?NuZAQ(j|L?rwL>xW+z5V2NK3jV;+!cbcs36O9}
z!Y5*_#p0+G-Bv0H;yC`QI96LfGu9cT(+ZYf)rz)4U-qqHpgZ$s-nsYObML!*-|op4
zPIC*#CLzYmoKJAMTp~()Ay#AKTo@m}XZDnf1G^^oTi)WhmGmgy?=5|v?a90E_bfih
zLZ9Q?BXA#@J8)P2^hjo>dgIYh)i3vI$%lR?r=@gErDo;dC>C`Tiz07E_goSkUT|kl
zyYPj_jZdB{o+*coF>4kW2kl;_6#hsPVa^
z^tYe)Q(Qww_@gMkO73)Q&dR!i+bhGb#qUrxtLk%?Zqumet2*zIr@OC)i#}XX
zZ)PPw6F5R7#7yGaX=Tkr1VJ1n30q`%wk4;VFVEdrI
zfOh7OU^|?15pkpej7+>axgA_R1cODPwVVx(Rqwo8zb+G7(&G&%D;
z8{FhAfCpYTF}=xK|2DBBy~a0$4K|9l&dzu%bsf_O{pXAk;QfGRY#t7{%9GK0^#4l{RoNvJNXLqF5z*W3(B|-Wcr*hhl!l
z5e2bqbK>HJtiL3F7U-4?VS$o(F*ehU3G-RPXsQ70^b}0{pcjiwK?d=%?stJD(0Y4#
zkT4lSmXBgbqg+5It*99jp?Qh>STrS7Mt39yjv?r)ngp_x-`;3GVK($=sypV;vQ=;1
z{lYX4_;mGI%v_lE`2Evc$IXU0z(gYu{sGj(3;$z2aCKr~B;{fEy)VILYf0ikt~Tl?cNi6-Bzk3Y9B{
zI}tn#T9q4ytq6|59o2L;7C`|BOI=cp;>q=Di$ffOxNAWWHt3#>J?Ak?!-Jqz7t4ix(O#t3dvG;m{-PQ#DuEUkuXGhjtUl-5c43j%pIRkRYq}M
z%D{G}v)A~7XI~HS{07A>L>dkz@$E2BHiIdq$MIQX64JLr4Kd|3ctg9lBSe?;aH5oQ
ziVTBo6suY7<7$c=gv)9f6LRt6!mh)J{s=80T4PTe*l0YMQ}L%?@BIQf4x(ks
zIU-
zyvI+}=DI|`J*b#dXt|gayde^bBE=9_$%?G1q&V}VpeTk9rIoHs1v+1g78(V)p$eoX
z!I{yB=n4as_RNt})|JZtpSS^BwSnw7YAH@`ER&!%)*cRM*~BN1Jv@%F7wIhEkyeQL
zBgmeygtc42e4RbEC+H~7XYs5ZUt*DcL6Y$&yd4!PGAZ;3wCQHyxPBc)cEfvmUkrow
z6o*^}N%~pL5pI>{!vHHGHjx;Cuk}6*NAtkeaWhJxL6c)Tq(LyG_rSW&RTS9|@+vmX
zhAN7qP6A0a1z%R#Gi`nC!dv(wN)dvjOj8XdGsM0s+}5Vuy`O)Dh};Q8E{LmraK5G0
z6!`+OtJ!=95tKknwLkU_A{Y-=HEa)pYbeg#G>A=;K!KjeRO4QCsQ4L5l0Tt$l607x
zE}8I=66P+Yj-UWb6ks}1=`c{^jq{3YDRLX@H9}Q0>TYa4090N3;PWs438st8ZH}L
TG5iz3b1><^49nIMR6g+^H05ym

delta 2813
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

diff --git a/com.xored.f4.jdt.launching.ui/f4jdtLaunchingUI.pod b/com.xored.f4.jdt.launching.ui/f4jdtLaunchingUI.pod
index 495858bbc55f8530c24650183c22904315e31b50..77efce162c3151a2112c5048a36e347c54ae681a 100644
GIT binary patch
delta 1675
zcmZvb2~bl<7{^~CM@kcpBu4uP2}k0y1`SDoql2({-s%`JH$89y0z20XY=(^4o
z)z+$IqVK!q{%M=s}zAiL^Mc$k9A0ilZ%$HCC6_?a=G_e|Utw
z>M-2$m{d#xH@k^ttplf7C@wW`xOa}6<*lcKkHIfjyd~^x-UZ>
zT9AB;Sivd&KqZeZJ1b^~RJuQQ`Gt3AW8)Ir!t9P7pKiZzbldMn4U@WM;*$~6tI|6c
z#+SIXOqC=uhrEW;n6;*_+EtOCt2^VLS!;x!S)MdkH^|uC%#s^{TOEB}@qC@w1||+~
zSahllJS-hLe`4>Wys$V8-CB0n0!Fsz=2VdLv#38yif9PE{{#5gC@M|Pn0ozn=d
zaam5GZe|QR^JmqfO*oAQ23hNn;d)m!4dHsX3WW6TZ3tOrvKy!r{wQ{-CFiZ(&fp@tlc&8
z8^+@4?7!9i9=n98(TB>9-_+;bCDU_49%-Mv7+8C|VFAfsJ9zP#@X_KA=;07WJXTJBd1X@a;s%=DP$TOSs65
z<`88*7GwEPJco{U`v`(!7pF=mAog0a$dP5Ar#CYP5@ZsTZHEk}1%oP?0Ld08)!?4Y
z2T7(JryT`^+!x7MC{sa-+>i2w@*1d;dm(vQj_3HYFigL~keDPjW@Z>?Bqr(OG&DLF
z8~yv&@mCea!@1uMmm6H8pY@Gz=K8dx|8>@Fn;H5NdNjbgdXIX-ox#hdjQ+Q}4i0S|*XBUcH
zhoN{0!8l#-34JBtyI?B!&yYoUjW9g@b=cj#G@xZu~DRH(vSx

delta 1864
zcmZWp2~bl<7=ABc5-=o!KuCbxHjzV2I6_3@iIh`xEK;?lDmPWef-*SLNB}h=DD1S=
zikbm33KS!aMQNaFBNjV~0Y_Ajt5$KeVxhHY1nnm8Ir{X?{4=}Xe*d@sweP#!%3OMU
zw4J>xLZwoXvujC_6?89^G~2|RQ8F><`1Bj+=JjE*?dGP;vuAR)p(?|lQGj9
z(+2mi%jucOXMMVQM{B=oW0S5s*}pjahhNPr$@gj=ZV9nb`&BtZWgqJu)ZW)5^pIS%z^vx{=jNdmM6zq=F_bv`H#D&glTOfJ)dFzW2
z;{{sYsj^k6=i{R()GbjS!*eVMf;6BALadEp8A>JFTdQP2eWQ7-P8uhPx2VcWc4e7|@A%47-=$
zBE#-V@OLo9p!ZPX$QUa|<+-#w$hq#=zk(&@18QcQhPq@*9po*tFKXnQuKs*YG3
z-VpIRI4!S%a)q;f;A&^9aGPdn!2c{zL66@vibuZTR#-4g$3AjC{wzfiY
zzS3u^BeYX@ckTV|`thmVZMs*N57a))5SP{eq8TmK2xqHuY7_2AFJI%NHtxT+KDD&C
z2#LOQpW^9KFWJ2Pjy6AZRr#L&Bc>l)xs38K(@K4xXRf7YviXL*Y@xNmhq#LvBG}vU
z5BdwnSPDa~}&C
z1{}<{pA6`w9PHLEDH~OSzodL@>nvlVb-+(1uql}NeK$oU1gWq?5ZAZvaFq@=%Y-&g
zZu9tn^-KnhPT+I`z04bvHA7hrc>HEd3uL2rfH;uDv&NaEnWuaXJukw-@(2o9bl~jf
zC7YAFDLXkOJ{l#t!Z61`8pl;i2}
zUT23=tcIv6XLpw}g^k%uHqpbEwMr0M9GG(plA&;g#l^U1*JP$}2?
z#NrN>-$S981UB949R`AgS1NpM?+gSe*rbDE&?M%9Oa%?Yc0kN10e2-F!mL>(?e3c!
WY4GjcrM(~HC>T`8$PrTOJ^uqy1V2##

diff --git a/com.xored.f4.jdt.launching/f4jdtLaunching.pod b/com.xored.f4.jdt.launching/f4jdtLaunching.pod
index efd7f67050cfefff5ba8d6bfbf00ef4298e8e5e4..f4116169ca438f3547d22ae42897555ad7532e23 100644
GIT binary patch
delta 15937
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

diff --git a/com.xored.f4.launchEnv/f4launchEnv.pod b/com.xored.f4.launchEnv/f4launchEnv.pod
index d7e096b1811dde0afe365bbc2e5828fa32108fd6..be7662fa523eba33a6b6be56b1a8a4658dccf529 100644
GIT binary patch
delta 983
zcmX@Fc}yszYX7phYbbG++_;?!5(#oq5l
z8@KwTL>x)lUiaJT-%6#gCyt-#OJkaKMw@+;rq$KzyZe48imO>TsC375`J~jSu`yLR
zPjX9=UVP6|)V(ro>nBdx*>BbyJmGZ2`h`o*POi4QZeik^PhJXjm!6ap;=UokeqR9`&vh2%Y%(@vns!S#SHc%RfA>Yg3}-8#?FDwto}e*RT4tdJdP*(P>9t
zHN`$F>c3>RsQkg@O(L&~Hy9n2d$v9NB;SO)R~KA6xB8Wo{#W~{2cIa~zBDtp-B`K#
z=r8U7Z+4E!Te98>GBPk60%Fu4+Z@2SiID{qc$?XnwIQs@rYyb?p*9vVsL%pdJFw8?
z1*~F|f3U_uI01}elMC3~A&PgiJ%=h5g`9Hc#c%Wab6A2JYg?rvEX*=fKUbjUMRxmt_bC1A`+A7{p>I7Ji=`FQO_BirlS&-V0v=<+<3(g!wLee-~VuZ)8f!M?yGE=k}<8!`}-@V
z2t`AgM;k={{}yWZSZnp^_nwzqY;Iw|i6d%P$t!7N*Yk
zUSAzQ-JnAH(_@bn-!HD5)Y
z?S6GGMh1p;K#UqzlM~s*Hs>8Z3t_!4T~>CsFy_yDzu!{4lFeJC2I+U
zk;oPcQFMsyIaJYFj#Ci1wH*4BS8>ipa2^P=Pp;>hiV$$;-UZRk$}^df#Uuo1{~TUT
zW?qm>;4YqgNkAK-g;7w7(P^@bpd5s22ju>k94V*>;no4U>XT;*DnYpWf!vD8w*-};
zdWEDICry?Sl7(<>f!r&TBZOpQKz1=KovWe3z`$Sv#QZ>v06uIC3~9;vDXID;l?AEA
zdMT-C0p5&EA`FPcc1W~MX&EqBcQP?Bh$D0YS!*X>6jFoO_ghGcX$HsS{lbcqErf+3
zV*bKXOlh28u^wSzd5}Y_xQ$;`19ct(Vl@=AOeXIWHdO$rFJG&

diff --git a/com.xored.f4.launching/f4launching.pod b/com.xored.f4.launching/f4launching.pod
index 44ff9c621475aa121b61ba94a2668e12ee188c9e..e39f85bceaf1428bf469d85b240eb030cf5b4573 100644
GIT binary patch
delta 2743
zcmZuy2~<;88h#03GlT&G0iHk-AOVw@kSZiPl|>PbgiQh^1`-HcwNS(Y4vZkB0xn2e
zy;^i&q`1`<>p}z%f}@BgU56^^bv^xKKu`*3OK4iM795}UR{8*6PTBEM%`)%5a;n7on{PECpQ~%)3
zsvX02`+gUdw##U9)0hT{J#=aqqtD
zEuo6Wu;xd-yOzJ)_~PPLR@?TMPcP@sipy3+4yv2^`2qX&nSF!3FWUNMU1!3^8a3BH
zFHPz>R{>T%XC|s_?M{4g&T|68ux1*D!D%oTjKd_O&Dt`E!I(t$JS$QI@eU7>D};52
zj$DpTYvvS=Dc{LRo3{YlWfd}HG!A&nr2!f74jkajzU)GjhSc-R9Rm>>wrQGufvVib
z`6oiuyMKa|2tEhIdyJEYX}M<}#dQRyx~f~;fUqWa9}X3ibB`hLH{7p~(#G3AS1zt9
z-}>=tQ81G^T06sMv|JBRPsZ-)J6v4XSM`8<^*h_YNa`HcNVbXR~Fq$7~ADxotXAIulbEA1iQ;f+ulm6
z4z_e{)a@MC`_Gl~-?N0yVrj>r3pvN7rH|!tewz2*iMy_R5HlSS!n!1M-X}S7-Jzy4
zq9LSo>xQfr8--*Ue`y%+T5rswtXg3%Gv%q^-JmRy?Tgz#Ph`rfo@UIh+_5vdvT^of
z-mWm>983)|hWYReG@)~_;1~eDKw%p9O{S&^E#RoJ1!evx&@S)=HVZ;o!cH_=B2OJ~
zZO-5TS>Ol)STAu#023~fQ@fQQd5!YbF14o08Kt)nAX_G*TptGg8@b+-`%%bGmeoQi*&yBgWbKw9p)
zpQxx_1zRJlyct_gX%FL~C{3D>NoNs9dj3j*ruAaf(a?HaC4iI7%if%mD=Rd-om(u;
z$<0et(de$2`2ni(jkSJA$FQGlFwABCS`Z4)ehyqxUX%-pl3XPORVm%`!N)NC9TYZ^
zH@_ks<^Xw{atpxuBsVSrXx#I|whtl0YYYtXE?g3DEXj}RHVI$FaGJw!DlGZG&GvHp
zSOxH#Dq%Utg_STB;H$k!y6)qRcNfE$7Zl5!X`oYkBf9NsoE8HPt9_8!4b3U=wb~b%
zuhckwfK5CMK%DG?d=bewy_G}yijsLGlh?GBe->of4#gXac~yh6$r6McOU7wZ@G@CU
zLel@c)uyS@BtvU%e)jIG?hBXZ>Qq)qrPzPOF(-n
znrvfVGIxTGnz31POc(5EkeGx>6lT;tqCk%imyP4`iC%(5A*!Z2~dlY0G&h#(zFh!<9sbn
zs{nOcbk4fOCGLA+7J;?g-&$}}D?*U}YH_+&2DZpNKv^2gu&HvDoU@XXYa?nMNIUJRPTtfxq*fZM?}z)f!hcYhyZZbvB5|N+h*r_0`@-{VnKcY

delta 2509
zcmZux3s_TS7(V9=8RXP?{r>Orf9LKI^7kX8
zUD9-pl@noOV?(rLP;ndWL>XmlJ$!6!KLeeUjCNSWaORXZGCv<
z!hx-Gf8;N|(tbj?diGSJ^xO{#A>4_rcPpxdy1=HdcKUl7BO&4z~DYpN^u
zhJl~I-F()@&i1xX)84{!o9`u`8Zz!3YVECw-PU$H=8Hd*1!61Fyivbi-;{qw*S+wC
zYJNTWO+%x@qwLGUecJ8`lZc1!9*hs`-pBDde9`u!+zs5mF9vS?^Jr=Aa^DN8#j^}a
z)44X&)Fql8f*@9t1i^NK%eKO(AP2ZsrluI>&q+882g8m6n9b|N>L}Z@6jqZ+?PnkK
zL@<`xuO~;O6wIVK?#9fp<4+7@JkLMJ;`a+KVcQ0mk1;dBbr3r#-HO;qyXYHORVA#(
zIHS-*z#7BFZ1hXw?{S3vl1-S2@k}(dNwTI%i}F;hZ%?Yc3WEisx5v#_mUqq@41UbH
z`1t6S7?p#*|8zi^E?%Me{ej+&b2o2!>=ePyH{K~rPq;N_$jQC#yU^hHX#-YT-*>kB
zyj0uemcB<+@@afX%9ui}pn0hxf7Qm&$B!dZJw6!p5uJO#T6w;m|Mj-nEqImDO8#Qs#|bahY}`a+P*AwXXJ-a&o6Jh3PA
z74Nj=Wr-ciYw`D05w@)|hmC>TJ9w2Xs+ID@h3Wbog2+IHXX7Nvu`lCq>fe+Va@Bp(
zWg+?!?xXvE_st77xalT8ShZoskX)SLAZCVrd4>9_1P!{zJZyH>;OQG_{LL$sZ6=an
zq0c_tK9f+I#)SguNwZ>>tYt)aG{OiV%`C@!10a!r
z-eh+yj!B^nFWD1BQGRJbVQ~3^vT}JrVNud_l5!%<|E;$AE!{%2$09^_h|K4X!wB}Z
zvf}^6-U#k3ELY(uuz}kijz5-LX&;ao#KT>GL$wzdbj)RCy#hH&k45zX^
zm#b+~261W`bH|I0YjW$5pAbEBH?u$D-lpLIErh*lw)3rOnpz};_k>nw6zg21j8;OD?wIQD<>OmAwKNsz!|3>F
ztj<4;rub4uSDMCWG9KMFYr(rH&@Duk0o|c4Z6b5&dHqCA9kSazbE%y#3KjzLbhe9=
z(rIdpAIdlcsz!8M(`j-54yCitz6-hV{2|ES73?xtm`4Ups$hJE0;fI?iLb-j40fcg
z88o#_4s~*OsL|ok>`%I}=MKu~49ZA=zUHF_k4!03S!K(dwhxh^7m?-oR)ap19ba`O
z&0P>m5Cx_AutO+-1EJP%Dw9pCE0d;b6wt14gRweRC)UxV6ryzFn9dmXjn7|;;x{3(
z%;R!642Qd#62>((=xC}j0y-m}eb?QAbrqkY03oOt)8d-XL2$_OXZ}4fIg2I_K}MDb
z7T?ICDMJ+OjB>*4
z5=42KsTVFmd9Oabfu=C69X-bmqb!$k2=v2w`eg8pn7
zzDk%wlj#tVlHIiDg6r?
C#pl)l

diff --git a/com.xored.f4.model/f4model.pod b/com.xored.f4.model/f4model.pod
index 91355d5839f941bcffb018370fbbf1cc62a60125..a4a118c82fda0016c02617247b3177a67ed3656f 100644
GIT binary patch
delta 2161
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̸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≨j_PE}8h113Hg?H1n6HYfvY~0tYb^CEm
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

diff --git a/com.xored.f4.pathEnv/f4pathEnv.pod b/com.xored.f4.pathEnv/f4pathEnv.pod
index 62915fdfae3d02f360b2cf27c74719c5f05b9b89..c7a7ccc91c3c28987e5ef1da82989fab60908ea2 100644
GIT binary patch
delta 8997
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

delta 8983
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
X42sbG9v(r5yAU){W~30_hh_dBf09ZM

diff --git a/com.xored.f4.search/f4search.pod b/com.xored.f4.search/f4search.pod
index f184cdb0894f645e30bebe6cb03a70d6c564f3ca..292a02518b0768383a4d3eb77765c1ecbc13a86e 100644
GIT binary patch
delta 6124
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

diff --git a/com.xored.f4.testing/f4testing.pod b/com.xored.f4.testing/f4testing.pod
index 25bcef02466b4a7a29aa6c607b87b2d7ef8029b9..90d5894933196ac4f38e6af258a3352cc75c16d8 100644
GIT binary patch
delta 1861
zcmZWp3s6*57`}H|a4B|?WpVND<1Qc)%R`hXkXd9KgQdTZX=LFG
zkd%MOGBhPd8x&HOtOh}F8=plkW~Bjv11Y1FLLq8{oxA6nUiQwMng4v}|Gw`(|2^k?
z-%572k|Mp%jV~bt0s)a$Wl!BLk{AE5z#cWZ#G)uSt4(W~E_^QrG)mC?&L
z{MzsrYj#61ABQ>GSog|2hXmHzPn@4`;
z$!8j7yZKBP&l$lv;W&mah|aoUs7joUp&_w_#L#@nb_`vW$S`CZ^V`WrJET&~wAE5x
zETKu(?87(_PkjnFPWjqEev-9*jqbzhS0xH~X!N$_s=no8n}FagY*ZJT^4L&4opjMm
zU^L-Es4oN!HR~62UtiSX<+GxW?W~Z@|pEG`dkyuLfYqfY?K^xj}%X=oF>3w
z34p>Ehp@apQU;r1A7P94;477m
zZas@_O?$~*$Tqwpi74Z1RCQrIMqD9F|cmxsn
zBpXF{{2(gaACyzPTu8f%whPW9!Wf?*rg2D{rHG`053|J14c$u~JMbM!;2{SkC$SpZ
zvLf(??q*TsQSdT`ICpU1MCHvYq^&`HQgA2*a@Z`VU5b$eoeJ5568}X*#UbcuSV9Lv
zo6!p!T{2Q+6x=d~;VHF{;!O>P#Sv1NzfkNnH(p+E`V(oqkLsPp(W(hW8w-Z+P;Zw4
z46%Pl*->&3BE@k?chra!P-&Wu4b>)!M};FOF>K;*u#7Cvs$sZDBa)+$0>@1nXEO)8
z8aD{hdM4_QjFa;+2+eBj5pSj@?Vmvqxoek!aEd>yGmG&;shQ%H%!Iu&gW;l?ZOCs3
zi-`tZH0@GQ>b|9Kwcdp5c|o?C^Z*RXbxpIT(U$u
z8@xlBzJ)oT^(cqC2U9FqV-*me&DN&Nrg%khP!T8R)W%$IpIylUBNAAJ8sX0|YJrCA
z5EYZtcU^RQ8*_|2CZ0UA1`0JQ7tzJ)5n7JU^IOkOJVud_m@|WBL@Vp;6~Rbw7(D?L
p$M|EY$O*-7Pje2%bJu}PM@@eEFFW5QauG$o3-U#3kJIT4|35blCKCVv

delta 1789
zcmZuw3rtgI7`^uvONTrLv=nZOEl?;e)xvVZ#3Q-j3XDP5$KTx#yhkyXX7w
z{Q>mu0BWBgr&%!(27`h0X|Px7?75{;is2yJvc+}Qot7AbGG6*2ExXTdVpKlu-%{Bk
z>-@G<;reOl(3guVXPTQLV~g{zoZjsroL4l|epOxPZ&YqKPSI({hO5|JJ4<#vaP+x4
z`NP4&6QizY`p&QZarvs~4UxMWSAOJoS<_27pV60o=6(_LLC8TnhJ)bto@WADEkQM1M3OQ=gR}M=>U{
zb#tRW&R@KUAxPpj1aX3^+xk7Qv4{(e`FhZ;WJ*k}hNTq|Ly+|%^mg82!|IluMUZ9C
z=YS<8i*FKizS^#@q#?*7*nvqA+_ncZ_AX#eX-kf*!XwJz5X8ua+`|8zc=erYZ35VQ
z2p)Ti-z>;bx${gtmm7*o6!2LUJPs7j%b-cMgJ?IX!m)8CSYYk|&s4VNS>vpiR-&M9
z228}0qI=8&10q*&FVGr9Cp((Sb;T8oF-UxBg&+b7xr7bLeDG1S6Va(X8OP4zpbzK!
z{X2i-;nqGQ6a#o%DJHGJNi8Jw5o#RO1GQRW?#uKV6rO|Bzu@6hBr!aY&GY|zPr@*EQY4Kc_->)#W(twm0oiKM
zFeG?EVi<+^SPY3Cz~2uCd=0tbAPtT&B@p)pS_ubKTku8=jz)uCO@w)SkEX8~?Vz6u
zhRdON?gh?TF_B4>7RSy9f{Vc}a4B}+gqCbk3-RN@5cdX8btE+eU
zX$}PLmxj}QBh7fXmIJcV90VrM`nKU3Z#sf3!&{D1qN(r|1u9(c%c
g${jHoZDh?&ZNfXU06$_j#i$r~9u(7WCz-&%0XKF7WB>pF

diff --git a/com.xored.f4.ui.core/f4uiCore.pod b/com.xored.f4.ui.core/f4uiCore.pod
index fb6df19cc8e24cb95c165f7b5c067d877b15d293..f42e2676c5091a8568a24c49873727c99979a888 100644
GIT binary patch
delta 3377
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
Xqw;<&k_6@3=pc4jP2N#_ijltnIH@>)

diff --git a/com.xored.f4.ui.jdt/f4uiJdt.pod b/com.xored.f4.ui.jdt/f4uiJdt.pod
index 9700688523cebef8fc95497851f5e41065447845..29fd01428d88df4b6676c64d9082e81586149724 100644
GIT binary patch
delta 1511
zcmX?9d$g7>z?+#xgn@&DgTZI&VV{Y7GWEXxEe0a4-~V*ol=g_$67ms$<(J-G9elgJ
z#L4~=|CDePo)HykEcP2E_aJ>wvID(_*@Tbo$e-PpvY6-3>9
ze6@C?T+xmb70*s~1kPOF<1#PrwPNPkzlXLhaMIsXG?BN4D}d*amxWl^_Z>fcvL;>4
za85a2uhnxcbrMs>HGi+>^D1m^0(st7rmUztp6l-E{zCSUtkd$%rk7^ff94fyi@vfz
zYWoy{S?q_hmM{DIF#G4>xOZxD?5|CKhb>ck>VLb&Q7>AwqAsOQAxkeDM&u6MS_Lh8KS?gmIgHvLMI+papOsH90{_eDVYfw#{<{
zf*2u&eG=4!vgCy~vp~eIiC01`2$p&bG0sZ*CWMhFXFWMc<`kT>Ia-zpYCxhKGnADf
zp9o=1u2WQ;{7#_NL;4a(Z6stB=t^EGt|Mi#d@n|vmJ
z(&z>=HaBWcV}h`xb*kAQtXW1An0Y~dg@@>5b2DvukjN*auF320Al
zG?N3XvGLiHD#gUW@P(OyK?q3&1H-1t`^*%YVX~Qp3WOVHA;pv~Fga053>e!&U{jA>Z&Z8+G;tj;
zu}PxX{Cx633k`_Aw?KU&!jtpmB#iXZlJiqi1H2iTM1a15<V0}ZKL!H*sEA_9
zY4OSB*0PfeEFsoS3^~El3RG|xh)qxwdQ4tu>8t>XoNp=@CUpVj&I7S3iW+@spxebK
z$4d)L*0$n-xXs#1iit-C=r-NSEmp!1vDrW|QCYCq6Dwg(kf9=;Yjc-RcCZp<3X=m$
zm`wJzh8hrUEyWl+xy;%I93BgQretOVEd|A@1d8Q{CSSBxhnWAzT8gPyadMBMln#1G
zT#C-y91hes35Zc++f8Y5ypq`D8MZuNixSe;+KT}LJqH+Mr~!X}@_ZX;z@N5}Vzin3
z%m!+&psf_sGS$iZRb?l8*+QKkWh=#Y8klxc@+VKUlbEEz29k;g<&HaZYnTFn&Zq@q
zK_Ete=Nb$Q#YM^bj>#pNWr-#EMS5w8dB{EiY0u4@cRUOjryp1u7{m~Ifvhsk$^DuV
rlcnu=Ah}T6PKr%H2V~@ALtEj=ad!L=@j^Q(#{S7Yb_Q&UW*`Fq&8N-n

delta 1457
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 Date: Fri, 8 Jun 2018 11:20:15 +0100 Subject: [PATCH 22/23] Whitespace tidy --- .../fan/editor/FanAutoEditStrategy.fan | 1781 ++++++++--------- 1 file changed, 855 insertions(+), 926 deletions(-) diff --git a/com.xored.f4.ui.text/fan/editor/FanAutoEditStrategy.fan b/com.xored.f4.ui.text/fan/editor/FanAutoEditStrategy.fan index 0d164a80..eef4b70f 100644 --- a/com.xored.f4.ui.text/fan/editor/FanAutoEditStrategy.fan +++ b/com.xored.f4.ui.text/fan/editor/FanAutoEditStrategy.fan @@ -12,936 +12,865 @@ using [java] com.xored.fanide.ui::FanPreferenceConstants /** * Auto indent strategy sensitive to brackets. */ -class FanAutoEditStrategy : DefaultIndentLineAutoEditStrategy -{ - - private static const Symbol[] continuationTokens := [ Symbol.backslash, - Symbol.comma, Symbol.slash, Symbol.plus, Symbol.minus, Symbol.star ] - - private IPreferenceStore preferenceStore - private const Str partitioning - - /*private boolean closeStrings() { - return preferenceStore - .getBoolean(PreferenceConstants.EDITOR_CLOSE_STRINGS); - }*/ - - private Bool closeBrackets() - { - preferenceStore.getBoolean(PreferenceConstants.EDITOR_CLOSE_BRACKETS) - } - - private Bool closeBraces() - { - preferenceStore.getBoolean(PreferenceConstants.EDITOR_CLOSE_BRACES) - } - - /* - * Switch smart mode on/off - */ - private Bool isSmartMode() { - preferenceStore.getBoolean(PreferenceConstants.EDITOR_SMART_INDENT) - } - - /** - * Calculates real length of string. So any char except \t has length 1, \t - * has length getTabWidth. - * - * @param str - * string to process - * @return length - */ - private Int getPhysicalLength(Str str) - { - res := 0 - for (i := 0; i < str.size; i++) { - if (str[i] == '\t') - res += getTabSize - else - res++ - } - return res - } - - private Int getTabSize() { - preferenceStore.getInt(CodeFormatterConstants.FORMATTER_TAB_SIZE) - } - - private Int getIndentSize() - { - preferenceStore.getInt(CodeFormatterConstants.FORMATTER_INDENTATION_SIZE) - } - - private Str getTabStyle() - { - preferenceStore.getString(CodeFormatterConstants.FORMATTER_TAB_CHAR) - } - - private Bool isSmartPaste() - { - preferenceStore.getBoolean(PreferenceConstants.EDITOR_SMART_PASTE) - } - - new make(IPreferenceStore store, Str part) { - preferenceStore = store - partitioning = part - } - - /** - * Returns the leading whitespaces. - * - * @param document - * - the document being parsed - * @param line - * - the line being searched - * @return the leading whitespace - * @throws BadLocationException - * in case line is invalid in the document - */ - private Str getLineIndent(IDocument document, Int line) - { - if (line == -1) return "" - start := document.getLineOffset(line) - end := start + document.getLineLength(line) - whiteend := findEndOfWhiteSpace(document, start, end) - return document.get(start, whiteend - start) - } - - /** - * Returns the leading whitespaces and tabs. - * - * @param line - * - the line being searched - * @return the leading whitespace - */ - /*public String getLineIndent(String line) { - int end = line.length(); - int whiteend = end; - int offset = 0; - while (offset < end) { - char c = line.charAt(offset); - if (c != ' ' && c != '\t') { - whiteend = offset; - break; - } - offset++; - } - return line.substring(0, whiteend); - }*/ - - - /** - * Return pair to brace. Ex. '(' for ')', e.t.c. - * - * @param b - * input brace - * @return peer brace - */ - /*private char getBracePair(char b) { - switch (b) { - case '(': - return ')'; - case ')': - return '('; - case '[': - return ']'; - case ']': - return '['; - case '{': - return '}'; - case '}': - return '{'; - case '\"': - return '\"'; - case '\'': - return '\''; - } - return b; - }*/ - - private static const Int maxBackScanSize := 16384 - - /** - * Determines type of last opening block. For example, for such line - * proc () { - * - * function will return new BraceBlockType. And for proc(){} - * function will return null - * - * @param d - * document containing the line - * @param line - * number of the start search offset - * @return an object of appropriate block type - * @throws BadLocationException - */ - private FanBlock? getLastOpenBlockType(IDocument d, Int start) - { - blocks := Int[,] - ITypedRegion? lastRegion := null - lastLine := -1 - lastLineOffset := -1 - lastLineStr := "" - stopPosition := 0.max(start - maxBackScanSize) - offset := start - while (offset > stopPosition) - { - offset-- - // skip screening - bslashes := 0 - while (offset - bslashes > 0 && d.getChar(offset - bslashes - 1) == '\\') - bslashes++ - if (bslashes % 2 == 1) { - offset -= bslashes - continue - } - - // skip comment lines - if (lastLineOffset < 0 || offset < lastLineOffset) { - lastLine = d.getLineOfOffset(offset) - lastLineOffset = d.getLineOffset(lastLine) - lastLineStr = d.get(lastLineOffset, d.getLineLength(lastLine)) - .trim() - } - if (!lastLineStr.isEmpty && lastLineStr.startsWith("//")) { - offset = lastLineOffset - continue - } - // skip strings - if (lastRegion == null || offset < lastRegion.getOffset) { - lastRegion = TextUtilities.getPartition(d, partitioning, - offset, true) - } - if (lastRegion.getType == IFanPartitions.string) { - offset = lastRegion.getOffset - offset-- - } - c := d.getChar(offset) - - insideFig := false - if (blocks.size > 0 && blocks.peek == '}') - insideFig = true - - // ommit everything inside {} - if (c != '{' && c != '}' && insideFig) - continue - - switch (c) { - case '(': - if (0 == blocks.size || blocks.pop != ')') - return FanBlock.makeParentheses(offset,defaultIndent) - case '[': - if (0 == blocks.size || blocks.pop != ']') - return FanBlock.makeBrackets(offset,defaultIndent) - case '{': - if (0 == blocks.size || blocks.pop != '}') - return FanBlock.makeBraces(offset,defaultIndent) - case ')': - case ']': - case '}': - blocks.push(c) - } - } - - return null - } - - private Str defaultIndent() - { - getTabStyle.equals(CodeFormatterConstants.TAB) ? "\t" : Str.spaces(getIndentSize) - } - - /** - * Find line with number <=line, that is Fantom code line (not comment) - * - * @param d - * the document to search in - * @param line - * number of starting line - * @return number of code line or null if no such line found - */ - private Int? getLastCodeLine(IDocument d, Int line) { - res := line - while (res > -1) { - str := getDocumentLine(d, line) - if (!str.startsWith("//") && !str.isEmpty) - return res - res-- - } - return null - } - - private Str getDocumentLine(IDocument d, Int line) { d.get(d.getLineOffset(line), d.getLineLength(line)) } - - private Void smartIndentAfterNewLine(IDocument d, DocumentCommand c) { - if (c.offset == -1 || d.getLength() == 0) return - //try { - scanner := FanHeuristicScanner(d) - pos := (c.offset == d.getLength() ? c.offset - 1 : c.offset) - line := d.getLineOfOffset(pos) - curLine := d.getLineOfOffset(c.offset) - curLineStr := getDocumentLine(d, curLine) - - resultIndent := "" - lastIndent := "" - FanBlock? block := null - needPeer := false - // if we need to jump into middle of block without inserting peer - // brace - dummyPeer := false - - block = getLastOpenBlockType(d, c.offset) - if (curLineStr.trim.endsWith("\\")) - resultIndent = getLineIndent(d, line - 1) - else if (block == null) - { - lastCodeLine := getLastCodeLine(d, line) - // no code above us, just copy last indent - if (lastCodeLine == null) - resultIndent = getLineIndent(d, line - 1) - else - { - // if our line is inside brackets, get line with opening - // bracket - block = getLastOpenBlockType(d, d - .getLineOffset(lastCodeLine)) - if (block != null) { - peer := scanner.findOpeningPeer(d - .getLineOffset(lastCodeLine), - block.opening, block.closing) - if (peer != null) { - lastCodeLine = d.getLineOfOffset(peer) - } - } - resultIndent = getLineIndent(d, lastCodeLine) - } - } - else - { - // block != null - lastCodeLine := d.getLineOfOffset(block.offset) - lastIndent = getLineIndent(d, lastCodeLine) - - resultIndent = lastIndent + block.indent - - cPos := pos - while ((d.getChar(cPos) == ' ' || d.getChar(cPos) == '\t')) { - if (cPos == d.getLength() - 1) - break - cPos++ - } - if (block.closing == d.getChar(cPos)) - dummyPeer = true - // find closing peer, if exists - peerOffset := scanner.findClosingPeer(pos, 0, block.opening, block.closing) - // if not fount peer, we need it - if (peerOffset == null) - needPeer = true - } - - if (!(block?.opening == '[' || block?.opening == '(')) { - firstContinuation := previousIsFirstContinuation(d, - scanner, c.offset, curLine) - continuation := !firstContinuation - && previousIsContinuation(scanner, c.offset, curLine) - - if (firstContinuation) - resultIndent += defaultIndent - else if (continuation) - resultIndent += getLineIndent(d, line - 1) - // process line indent - } - - resultIndent = remakeIndent(resultIndent) - - reg := d.getLineInformation(line) - lineEnd := reg.getOffset() + reg.getLength() - - contentStart := findEndOfWhiteSpace(d, c.offset, lineEnd) - c.length = 0.max(contentStart - c.offset) - - if (block?.opening == '{' - && !preferenceStore - .getBoolean(FanPreferenceConstants.EDITOR_CLOSE_BRACES)) - needPeer = false - - if ((block?.opening == '[' || block?.opening == '(') - && !preferenceStore - .getBoolean(FanPreferenceConstants.EDITOR_CLOSE_BRACKETS)) - needPeer = false - - if ((needPeer || dummyPeer) && block?.opening == '{') { - //block != null - buf := StrBuf().add(c.text).add(resultIndent) - c.shiftsCaret = false - c.caretOffset = c.offset + buf.size - prevBlock := getLastOpenBlockType(d, block.offset - 1) - insideRoundBrackets := (prevBlock != null && prevBlock?.opening == '(') - if (!dummyPeer && !insideRoundBrackets && lineEnd - contentStart > 0) - { - c.length = lineEnd - c.offset - buf.add(d.get(contentStart, lineEnd - contentStart)) - } - - buf.add(TextUtilities.getDefaultLineDelimiter(d)) - buf.add(lastIndent) - - if (!dummyPeer) - { - if (insideRoundBrackets) - { - buf.addChar(block.closing) - if (lineEnd - contentStart > 0) - { - c.length = lineEnd - c.offset - buf.add(d.get(contentStart, lineEnd - contentStart)) - } - } else - buf.addChar(block.closing) - } - c.text = buf.toStr - } - else - c.text += resultIndent - //} catch (BadLocationException e) { - // e.printStackTrace - //} - } - - /*@SuppressWarnings("unused") - private void smartIndentAfterOpeningBracket(IDocument d, DocumentCommand c) { - if (c.offset == -1) - return; - - try { - if (d.getChar(c.offset - 1) == '\\') - return; - } catch (BadLocationException e1) { - } - - if ('\"' == c.text.charAt(0) && !closeStrings()) - return; - - if ('\'' == c.text.charAt(0) && !closeStrings()) - return; - - if (!closeBrackets() - && ('[' == c.text.charAt(0) || '(' == c.text.charAt(0))) - return; - - if (!closeBraces() && ('{' == c.text.charAt(0))) - return; - - try { - char ch = c.text.charAt(0); - switch (ch) { - case '\"': - case '\'': - // if we close existing quote, do nothing - if ('\"' == ch && c.offset > 0 - && "\"".equals(d.get(c.offset - 1, 1))) - return; - - if ('\'' == ch && c.offset > 0 - && "\'".equals(d.get(c.offset - 1, 1))) - return; - - if (c.offset != d.getLength() - && ch == d.get(c.offset, 1).charAt(0)) - c.text = ""; - else { - c.text += c.text; - c.length = 0; - - } - - c.shiftsCaret = false; - c.caretOffset = c.offset + 1; - break; - case '(': - case '{': - case '[': - boolean needPeer = false; - FanHeuristicScanner scanner = new FanHeuristicScanner(d); - // find closing peer, if exists - int peerOffset = scanner.findClosingPeer(c.offset, 1, ch, - getBracePair(ch)); - // if not fount peer, we need it - if (peerOffset == FanHeuristicScanner.NOT_FOUND) - needPeer = true; - // check partition - if (getRegionType(d, c.offset) != IDocument.DEFAULT_CONTENT_TYPE) - return; - - if (!needPeer) - return; - - if (c.offset != d.getLength() - && ch == d.get(c.offset, 1).charAt(0)) - return; - - // add closing peer - c.text = c.text + getBracePair(ch); - c.length = 0; - - c.shiftsCaret = false; - c.caretOffset = c.offset + 1; - break; - } - } catch (BadLocationException e) { - e.printStackTrace(); - } - - }*/ - - private Void smartIndentAfterClosingBracket(IDocument d, DocumentCommand c) - { - if (c.offset == -1 || d.getLength == 0) return - //try { - bracket := c.text[0] - // if we already have bracket we should jump over it - if (c.offset != d.getLength && bracket == d.get(c.offset, 1)[0] - && (getRegionType(d, c.offset) == IDocument.DEFAULT_CONTENT_TYPE)) - { - if (bracket == '}' && closeBraces || (bracket == ')' || bracket == ']') && closeBrackets) - { - c.text = "" - c.shiftsCaret = false; - c.caretOffset = c.offset + 1 - return - } - } - - scanner := FanHeuristicScanner(d) - - p := c.offset == d.getLength ? c.offset - 1 : c.offset - line := d.getLineOfOffset(p) - start := d.getLineOffset(line) - whiteend := findEndOfWhiteSpace(d, start, c.offset) - - // shift only when line does not contain any text up to the closing - // bracket - if (whiteend == c.offset) { - // determine block type - FanBlock? block - switch (c.text[0]) - { - case ']': block = FanBlock.makeBrackets(0,defaultIndent) - case '}': block = FanBlock.makeBraces(0,defaultIndent) - case ')': block = FanBlock.makeParentheses(0,defaultIndent) - } - if (block == null) return - // evaluate the line with the opening bracket that matches out - // closing bracket - reference := scanner.findOpeningPeer(p, block.opening, block.closing) - indLine := reference == null ? -1 : d.getLineOfOffset(reference) - if (indLine != -1 && indLine != line) - { - // take the indent of the found line - replaceText := StrBuf() - // add the rest of the current line including the just added - // close bracket - replaceText.add(getLineIndent(d, indLine)) - replaceText.add(c.text) - // modify document command - c.length = c.length + c.offset - start - c.offset = start - c.text = replaceText.toStr - } - } - //} catch (BadLocationException e) { - // e.printStackTrace - //} - } - - private Bool smartIndentJump(IDocument d, DocumentCommand c) - { - if (c.offset == -1 || d.getLength() == 0) return false - //try { - scanner := FanHeuristicScanner(d) - p := c.offset == d.getLength ? c.offset - 1 : c.offset - curLine := d.getLineOfOffset(c.offset) - curLineStr := getDocumentLine(d, curLine) - - line := d.getLineOfOffset(p) - start := d.getLineOffset(line) - resultIndent := "" - lastIndent := "" - FanBlock? block - - // DUPLICATION: this code is identical to code in - // smartInsertAfterNewLine - block = getLastOpenBlockType(d, c.offset) - if (curLineStr.trim.endsWith("\\")) - { - resultIndent = getLineIndent(d, line - 1) - } - else if (block == null) - { - lastCodeLine := getLastCodeLine(d, line) - // if our line is inside brackets, get line with opening bracket - block = getLastOpenBlockType(d, d.getLineOffset(curLine)); - if (block != null) - { - peer := scanner.findOpeningPeer( - d.getLineOffset(curLine), block.opening, - block.closing) - if (peer != null) - lastCodeLine = d.getLineOfOffset(peer) - } - // no code above us, just copy last indent - if (-1 == lastCodeLine) { - resultIndent = getLineIndent(d, line - 1) - } else { - resultIndent = getLineIndent(d, lastCodeLine) - } - } else { - lastCodeLine := d.getLineOfOffset(block.offset) - lastIndent = getLineIndent(d, lastCodeLine) - resultIndent = lastIndent + block.indent - } - - if (c.offset >= start + resultIndent.size) - return false // we already in the place - - currentIndent := getLineIndent(d, line) - if (!currentIndent.startsWith(resultIndent)) - return false // we have no place to jump - - c.length = 0 - c.shiftsCaret = false - c.text = "" - c.caretOffset = d.getLineOffset(line) + resultIndent.size - - //} catch (BadLocationException e) { - // e.printStackTrace - // return false - //} - return true - } - - /** - * Installs a partitioner with document. - * - * @param document - * the document - */ - /*private static void installStuff(Document document) { - String[] types = new String[] { IFanPartitions.FAN_STRING, - IFanPartitions.FAN_MULTI_LINE_COMMENT, - IFanPartitions.FAN_SINGLE_LINE_COMMENT, - IFanPartitions.FAN_INTERPRETER_STRING, IFanPartitions.FAN_DOC, - IFanPartitions.FAN_DSL, IDocument.DEFAULT_CONTENT_TYPE }; - FastPartitioner partitioner = new FastPartitioner( - new FanPartitionScanner(), types); - partitioner.connect(document); - document.setDocumentPartitioner(IFanPartitions.FAN_PARTITIONING, - partitioner); - }*/ - - /** - * Removes a partitioner with document. - * - * @param document - * the document - */ - /*private static void removeStuff(Document document) { - document.setDocumentPartitioner(IFanPartitions.FAN_PARTITIONING, null); - }*/ - - /** - * Reindents c.text when pasting(simply indents all to common level). - * - * @param d - * @param c - */ - /*@SuppressWarnings("unused") - private void smartPasteSimple(IDocument d, DocumentCommand c) { - try { - String content = d.get(0, c.offset) + c.text; - Document temp = new Document(content); - int line = d.getLineOfOffset(c.offset); - int start = d.getLineOffset(line); - int relativeIndent = 0; - int sline = line + 1; - String commonIndent = getLineIndent(d, line); - int back = -1; - if (d.get(start, c.offset - start).trim().length() == 0) { // we are - // inserting - // lines - // block - // TODO: recalc common indent - // try to detect cutten line - int i; - int depth = 0; - myloop: for (i = 0; i < c.text.length(); i++) { - switch (c.text.charAt(i)) { - case '(': - case '{': - case '[': - depth++; - break; - case ')': - case ']': - case '}': - depth--; - break; - case '\n': - break myloop; - } - } - if (depth == 0 - && i != c.text.length() - && getRegionType(temp, c.offset + i) != IFanPartitions.FAN_STRING) { - String first = getLineIndent(c.text.substring(0, i)); - String second = getLineIndent(temp, line + 1); - temp.replace(start, c.offset - start + first.length(), - second); - } else - temp.replace(start, c.offset - start, ""); - back = c.offset - start; - relativeIndent = getPhysicalLength(getLineIndent(temp, line)); - sline = line; - } - while (true) { - try { - getDocumentLine(temp, sline); - } catch (BadLocationException e) { - break; // signal of the end of lines - } - String currentIndent = getLineIndent(temp, sline); - int newIndentLen = getPhysicalLength(commonIndent) - + getPhysicalLength(currentIndent) - relativeIndent; - String newIndent = generateIndent(newIndentLen); // may be do - // here - temp.replace(temp.getLineOffset(sline), currentIndent.length(), - newIndent); - sline++; - } - if (back > 0) { - c.offset = start; - c.text = temp.get(start, temp.getLength() - start); - c.length += back; - } else { - c.text = temp.get(c.offset, temp.getLength() - c.offset); - } - } catch (BadLocationException e) { - e.printStackTrace(); - } - }*/ - - private Str generateIndent(Int newIndentLen) { - res := "" - if (getTabStyle != CodeFormatterConstants.SPACE) { - ts := getTabSize - while (newIndentLen >= ts) { - res += "\t"; - newIndentLen -= ts; - } - } - if (getTabStyle().equals(CodeFormatterConstants.TAB)) { - if (newIndentLen > 0) res += "\t" - } else - res += Str.spaces(newIndentLen) - return res - } - - private Str remakeIndent(Str indent) { - generateIndent(getPhysicalLength(indent)) - } - - private Bool previousIsFirstContinuation(IDocument d, - FanHeuristicScanner scanner, Int offset, Int bound) - { - if (!previousIsContinuation(scanner, offset, bound)) return false - line := d.getLineOfOffset(offset) - if (line == 0) return true - prev := d.getLineInformation(line - 1) - return !previousIsContinuation(scanner, prev.getOffset + prev.getLength, prev.getOffset) - } - - private Bool previousIsContinuation(FanHeuristicScanner scanner, Int offset, Int bound) - { - continuationTokens.contains(scanner.previousToken(offset, bound)) - } - - /*private void smartPaste2(IDocument d, DocumentCommand cmd) { - try { - String content = d.get(0, cmd.offset) + cmd.text; - Document temp = new Document(content); - installStuff(temp); - Vector blocks = new Vector(); - int figs = 0; // count of braces - int cmdLine = d.getLineOfOffset(cmd.offset); - int cmdLineStart = d.getLineOffset(cmdLine); - int startLine = d.getLineOfOffset(cmd.offset) + 1; - if (d.get(cmdLineStart, cmd.offset - cmdLineStart).trim().length() == 0) // we - // are - // inserting - // lines - // block - startLine--; - int offset = 0; - while (offset < temp.getLength()) { - ITypedRegion region = TextUtilities.getPartition(temp, - fPartitioning, offset, true); - if (region.getType() != IDocument.DEFAULT_CONTENT_TYPE - && figs == 0) { - offset = region.getOffset() + region.getLength(); - continue; - } - char c = temp.getChar(offset); - if (c == '\\') { - offset += 2; - continue; - } - switch (c) { - case ')': - case ']': - case '}': - if (c == '}') - figs--; - if (blocks.size() > 0) { - blocks.removeElementAt(blocks.size() - 1); - } - break; - } - - int line = temp.getLineOfOffset(offset); - String currentIndent = getLineIndent(temp, line); - // if may start reindenting - if (line >= startLine - && offset == temp.getLineOffset(line) - + currentIndent.length()) { - StringBuffer newIndentBuf = new StringBuffer(); - Iterator iter = blocks.iterator(); - while (iter.hasNext()) { - FanBlock b = iter.next(); - newIndentBuf.append(b.indent); - } - String newIndent = newIndentBuf.toString(); - temp.replace(temp.getLineOffset(line), currentIndent - .length(), newIndent); - offset = temp.getLineOffset(line) + newIndent.length(); - } - - switch (c) { - case '(': - blocks.add(new RoundBracketBlock(offset)); - break; - case '[': - blocks.add(new BracketBlock(offset)); - break; - case '{': - figs++; - blocks.add(new BraceBlock(offset)); - break; - } - - offset++; - } - if (cmd.offset - offset > 0) { - cmd.text = temp.get(cmdLineStart, temp.getLength() - - cmdLineStart); - cmd.offset = cmdLineStart; - } else { - cmd.text = temp.get(cmd.offset, temp.getLength() - cmd.offset); - } - removeStuff(temp); - } catch (BadLocationException e) { - e.printStackTrace(); - } - }*/ - - /** - * get partition covering offset - * - * @param d - * @param offset - * @return - * @throws BadLocationException - */ - private Str getRegionType(IDocument d, Int offset) - { - TextUtilities.getPartition(d, partitioning, offset, true).getType - } - - /* - * @see - * org.eclipse.jface.text.IAutoIndentStrategy#customizeDocumentCommand(org - * .eclipse.jface.text.IDocument, org.eclipse.jface.text.DocumentCommand) - */ - override Void customizeDocumentCommand(IDocument? d, DocumentCommand? c) - { - if (!c.doit) return - if (c.length == 0 && c.text != null && d.getLegalLineDelimiters().contains(c.text)) - { - if (isSmartMode) - smartIndentAfterNewLine(d, c) - else - super.customizeDocumentCommand(d, c) - } - else if (c.length <= 1 && c.text.size == 1) - { - switch (c.text[0]) - { - case '}': - smartIndentAfterClosingBracket(d, c); - case '\t': - jumped := false - if (preferenceStore.getBoolean(FanPreferenceConstants.EDITOR_SMART_TAB)) - jumped = smartIndentJump(d, c); - if (!jumped && getTabStyle == CodeFormatterConstants.SPACE) - c.text = Str.spaces(getTabSize) - } - } - else if (c.length == 0 && c.text.size >= 1 && c.text.trim.size == 0) - { - jumped := false - if (preferenceStore.getBoolean(FanPreferenceConstants.EDITOR_SMART_TAB)) - jumped = smartIndentJump(d, c); - if (!jumped && getTabStyle == CodeFormatterConstants.SPACE) - c.text = Str.spaces(getTabSize) - } - else if (c.text.size >= 1 && isSmartPaste()) - { - // smartPasteSimple(d, c); // - } - // else if (c.text.length() >= 1 && isSmartPaste()) { - // smartPaste2(d, c); // ureacheble code - // } - } +class FanAutoEditStrategy : DefaultIndentLineAutoEditStrategy { + private static const Symbol[] continuationTokens := [ Symbol.backslash, Symbol.comma, Symbol.slash, Symbol.plus, Symbol.minus, Symbol.star ] + + private IPreferenceStore preferenceStore + private const Str partitioning + + /*private boolean closeStrings() { + preferenceStore.getBoolean(PreferenceConstants.EDITOR_CLOSE_STRINGS); + }*/ + + private Bool closeBrackets() { + preferenceStore.getBoolean(PreferenceConstants.EDITOR_CLOSE_BRACKETS) + } + + private Bool closeBraces() { + preferenceStore.getBoolean(PreferenceConstants.EDITOR_CLOSE_BRACES) + } + + /* + * Switch smart mode on/off + */ + private Bool isSmartMode() { + preferenceStore.getBoolean(PreferenceConstants.EDITOR_SMART_INDENT) + } + + ** Calculates real length of string. So any char except \t has length 1, \t + ** has length getTabWidth. + private Int getPhysicalLength(Str str) { + res := 0 + for (i := 0; i < str.size; i++) { + if (str[i] == '\t') + res += getTabSize + else + res++ + } + return res + } + + private Int getTabSize() { + preferenceStore.getInt(CodeFormatterConstants.FORMATTER_TAB_SIZE) + } + + private Int getIndentSize() { + preferenceStore.getInt(CodeFormatterConstants.FORMATTER_INDENTATION_SIZE) + } + + private Str getTabStyle() { + preferenceStore.getString(CodeFormatterConstants.FORMATTER_TAB_CHAR) + } + + private Bool isSmartPaste() { + preferenceStore.getBoolean(PreferenceConstants.EDITOR_SMART_PASTE) + } + + new make(IPreferenceStore store, Str part) { + preferenceStore = store + partitioning = part + } + + ** Returns the leading whitespaces. + ** + ** @param document - the document being parsed + ** @param line - the line being searched + ** @return the leading whitespace + ** @throws BadLocationException in case line is invalid in the document + ** + private Str getLineIndent(IDocument document, Int line) { + if (line == -1) return "" + start := document.getLineOffset(line) + end := start + document.getLineLength(line) + whiteend := findEndOfWhiteSpace(document, start, end) + return document.get(start, whiteend - start) + } + + /** + * Returns the leading whitespaces and tabs. + * + * @param line + * - the line being searched + * @return the leading whitespace + */ + /*public String getLineIndent(String line) { + int end = line.length(); + int whiteend = end; + int offset = 0; + while (offset < end) { + char c = line.charAt(offset); + if (c != ' ' && c != '\t') { + whiteend = offset; + break; + } + offset++; + } + return line.substring(0, whiteend); + }*/ + + + /** + * Return pair to brace. Ex. '(' for ')', e.t.c. + * + * @param b + * input brace + * @return peer brace + */ + /*private char getBracePair(char b) { + switch (b) { + case '(': + return ')'; + case ')': + return '('; + case '[': + return ']'; + case ']': + return '['; + case '{': + return '}'; + case '}': + return '{'; + case '\"': + return '\"'; + case '\'': + return '\''; + } + return b; + }*/ + + private static const Int maxBackScanSize := 16384 + + ** + ** Determines type of last opening block. For example, for such line + ** + ** proc () { + ** + ** function will return new BraceBlockType. And for 'proc(){}' + ** function will return null + ** + ** @param d document containing the line + ** @param line number of the start search offset + ** @return an object of appropriate block type + ** @throws BadLocationException + ** + private FanBlock? getLastOpenBlockType(IDocument d, Int start) { + blocks := Int[,] + ITypedRegion? lastRegion := null + lastLine := -1 + lastLineOffset := -1 + lastLineStr := "" + stopPosition := 0.max(start - maxBackScanSize) + offset := start + while (offset > stopPosition) { + offset-- + // skip screening + bslashes := 0 + while (offset - bslashes > 0 && d.getChar(offset - bslashes - 1) == '\\') + bslashes++ + if (bslashes % 2 == 1) { + offset -= bslashes + continue + } + + // skip comment lines + if (lastLineOffset < 0 || offset < lastLineOffset) { + lastLine = d.getLineOfOffset(offset) + lastLineOffset = d.getLineOffset(lastLine) + lastLineStr = d.get(lastLineOffset, d.getLineLength(lastLine)).trim() + } + if (!lastLineStr.isEmpty && lastLineStr.startsWith("//")) { + offset = lastLineOffset + continue + } + // skip strings + if (lastRegion == null || offset < lastRegion.getOffset) { + lastRegion = TextUtilities.getPartition(d, partitioning, offset, true) + } + if (lastRegion.getType == IFanPartitions.string) { + offset = lastRegion.getOffset + offset-- + } + c := d.getChar(offset) + + insideFig := false + if (blocks.size > 0 && blocks.peek == '}') + insideFig = true + + // ommit everything inside {} + if (c != '{' && c != '}' && insideFig) + continue + + switch (c) { + case '(': + if (0 == blocks.size || blocks.pop != ')') + return FanBlock.makeParentheses(offset,defaultIndent) + case '[': + if (0 == blocks.size || blocks.pop != ']') + return FanBlock.makeBrackets(offset,defaultIndent) + case '{': + if (0 == blocks.size || blocks.pop != '}') + return FanBlock.makeBraces(offset,defaultIndent) + case ')': + case ']': + case '}': + blocks.push(c) + } + } + + return null + } + + private Str defaultIndent() { + getTabStyle.equals(CodeFormatterConstants.TAB) ? "\t" : Str.spaces(getIndentSize) + } + + /** + * Find line with number <=line, that is Fantom code line (not comment) + * + * @param d + * the document to search in + * @param line + * number of starting line + * @return number of code line or null if no such line found + */ + private Int? getLastCodeLine(IDocument d, Int line) { + res := line + while (res > -1) { + str := getDocumentLine(d, line) + if (!str.startsWith("//") && !str.isEmpty) + return res + res-- + } + return null + } + + private Str getDocumentLine(IDocument d, Int line) { + d.get(d.getLineOffset(line), d.getLineLength(line)) + } + + private Void smartIndentAfterNewLine(IDocument d, DocumentCommand c) { + if (c.offset == -1 || d.getLength() == 0) return + //try { + scanner := FanHeuristicScanner(d) + pos := (c.offset == d.getLength() ? c.offset - 1 : c.offset) + line := d.getLineOfOffset(pos) + curLine := d.getLineOfOffset(c.offset) + curLineStr := getDocumentLine(d, curLine) + + resultIndent := "" + lastIndent := "" + FanBlock? block := null + needPeer := false + // if we need to jump into middle of block without inserting peer brace + dummyPeer := false + + block = getLastOpenBlockType(d, c.offset) + if (curLineStr.trim.endsWith("\\")) + resultIndent = getLineIndent(d, line - 1) + else if (block == null) { + lastCodeLine := getLastCodeLine(d, line) + // no code above us, just copy last indent + if (lastCodeLine == null) + resultIndent = getLineIndent(d, line - 1) + else { + // if our line is inside brackets, get line with opening + // bracket + block = getLastOpenBlockType(d, d.getLineOffset(lastCodeLine)) + if (block != null) { + peer := scanner.findOpeningPeer(d.getLineOffset(lastCodeLine), block.opening, block.closing) + if (peer != null) { + lastCodeLine = d.getLineOfOffset(peer) + } + } + resultIndent = getLineIndent(d, lastCodeLine) + } + } + else { + // block != null + lastCodeLine := d.getLineOfOffset(block.offset) + lastIndent = getLineIndent(d, lastCodeLine) + + resultIndent = lastIndent + block.indent + + cPos := pos + while ((d.getChar(cPos) == ' ' || d.getChar(cPos) == '\t')) { + if (cPos == d.getLength() - 1) + break + cPos++ + } + if (block.closing == d.getChar(cPos)) + dummyPeer = true + // find closing peer, if exists + peerOffset := scanner.findClosingPeer(pos, 0, block.opening, block.closing) + // if not fount peer, we need it + if (peerOffset == null) + needPeer = true + } + + if (!(block?.opening == '[' || block?.opening == '(')) { + firstContinuation := previousIsFirstContinuation(d, + scanner, c.offset, curLine) + continuation := !firstContinuation + && previousIsContinuation(scanner, c.offset, curLine) + + if (firstContinuation) + resultIndent += defaultIndent + else if (continuation) + resultIndent += getLineIndent(d, line - 1) + // process line indent + } + + resultIndent = remakeIndent(resultIndent) + + reg := d.getLineInformation(line) + lineEnd := reg.getOffset() + reg.getLength() + + contentStart := findEndOfWhiteSpace(d, c.offset, lineEnd) + c.length = 0.max(contentStart - c.offset) + + if (block?.opening == '{' && !preferenceStore.getBoolean(FanPreferenceConstants.EDITOR_CLOSE_BRACES)) + needPeer = false + + if ((block?.opening == '[' || block?.opening == '(') && !preferenceStore.getBoolean(FanPreferenceConstants.EDITOR_CLOSE_BRACKETS)) + needPeer = false + + if ((needPeer || dummyPeer) && block?.opening == '{') { + //block != null + buf := StrBuf().add(c.text).add(resultIndent) + c.shiftsCaret = false + c.caretOffset = c.offset + buf.size + prevBlock := getLastOpenBlockType(d, block.offset - 1) + insideRoundBrackets := (prevBlock != null && prevBlock?.opening == '(') + if (!dummyPeer && !insideRoundBrackets && lineEnd - contentStart > 0) { + c.length = lineEnd - c.offset + buf.add(d.get(contentStart, lineEnd - contentStart)) + } + + buf.add(TextUtilities.getDefaultLineDelimiter(d)) + buf.add(lastIndent) + + if (!dummyPeer) { + if (insideRoundBrackets) { + buf.addChar(block.closing) + if (lineEnd - contentStart > 0) { + c.length = lineEnd - c.offset + buf.add(d.get(contentStart, lineEnd - contentStart)) + } + } else + buf.addChar(block.closing) + } + c.text = buf.toStr + } + else + c.text += resultIndent + //} catch (BadLocationException e) { + // e.printStackTrace + //} + } + + /*@SuppressWarnings("unused") + private void smartIndentAfterOpeningBracket(IDocument d, DocumentCommand c) { + if (c.offset == -1) + return; + + try { + if (d.getChar(c.offset - 1) == '\\') + return; + } catch (BadLocationException e1) { + } + + if ('\"' == c.text.charAt(0) && !closeStrings()) + return; + + if ('\'' == c.text.charAt(0) && !closeStrings()) + return; + + if (!closeBrackets() + && ('[' == c.text.charAt(0) || '(' == c.text.charAt(0))) + return; + + if (!closeBraces() && ('{' == c.text.charAt(0))) + return; + + try { + char ch = c.text.charAt(0); + switch (ch) { + case '\"': + case '\'': + // if we close existing quote, do nothing + if ('\"' == ch && c.offset > 0 + && "\"".equals(d.get(c.offset - 1, 1))) + return; + + if ('\'' == ch && c.offset > 0 + && "\'".equals(d.get(c.offset - 1, 1))) + return; + + if (c.offset != d.getLength() + && ch == d.get(c.offset, 1).charAt(0)) + c.text = ""; + else { + c.text += c.text; + c.length = 0; + + } + + c.shiftsCaret = false; + c.caretOffset = c.offset + 1; + break; + case '(': + case '{': + case '[': + boolean needPeer = false; + FanHeuristicScanner scanner = new FanHeuristicScanner(d); + // find closing peer, if exists + int peerOffset = scanner.findClosingPeer(c.offset, 1, ch, + getBracePair(ch)); + // if not fount peer, we need it + if (peerOffset == FanHeuristicScanner.NOT_FOUND) + needPeer = true; + // check partition + if (getRegionType(d, c.offset) != IDocument.DEFAULT_CONTENT_TYPE) + return; + + if (!needPeer) + return; + + if (c.offset != d.getLength() + && ch == d.get(c.offset, 1).charAt(0)) + return; + + // add closing peer + c.text = c.text + getBracePair(ch); + c.length = 0; + + c.shiftsCaret = false; + c.caretOffset = c.offset + 1; + break; + } + } catch (BadLocationException e) { + e.printStackTrace(); + } + + }*/ + + private Void smartIndentAfterClosingBracket(IDocument d, DocumentCommand c) { + if (c.offset == -1 || d.getLength == 0) return + //try { + bracket := c.text[0] + // if we already have bracket we should jump over it + if (c.offset != d.getLength && bracket == d.get(c.offset, 1)[0] && (getRegionType(d, c.offset) == IDocument.DEFAULT_CONTENT_TYPE)) { + if (bracket == '}' && closeBraces || (bracket == ')' || bracket == ']') && closeBrackets) { + c.text = "" + c.shiftsCaret = false; + c.caretOffset = c.offset + 1 + return + } + } + + scanner := FanHeuristicScanner(d) + + p := c.offset == d.getLength ? c.offset - 1 : c.offset + line := d.getLineOfOffset(p) + start := d.getLineOffset(line) + whiteend := findEndOfWhiteSpace(d, start, c.offset) + + // shift only when line does not contain any text up to the closing + // bracket + if (whiteend == c.offset) { + // determine block type + FanBlock? block + switch (c.text[0]) { + case ']': block = FanBlock.makeBrackets(0,defaultIndent) + case '}': block = FanBlock.makeBraces(0,defaultIndent) + case ')': block = FanBlock.makeParentheses(0,defaultIndent) + } + if (block == null) return + // evaluate the line with the opening bracket that matches out + // closing bracket + reference := scanner.findOpeningPeer(p, block.opening, block.closing) + indLine := reference == null ? -1 : d.getLineOfOffset(reference) + if (indLine != -1 && indLine != line) { + // take the indent of the found line + replaceText := StrBuf() + // add the rest of the current line including the just added + // close bracket + replaceText.add(getLineIndent(d, indLine)) + replaceText.add(c.text) + // modify document command + c.length = c.length + c.offset - start + c.offset = start + c.text = replaceText.toStr + } + } + //} catch (BadLocationException e) { + // e.printStackTrace + //} + } + + private Bool smartIndentJump(IDocument d, DocumentCommand c) { + if (c.offset == -1 || d.getLength() == 0) return false + //try { + scanner := FanHeuristicScanner(d) + p := c.offset == d.getLength ? c.offset - 1 : c.offset + curLine := d.getLineOfOffset(c.offset) + curLineStr := getDocumentLine(d, curLine) + + line := d.getLineOfOffset(p) + start := d.getLineOffset(line) + resultIndent := "" + lastIndent := "" + FanBlock? block + + // DUPLICATION: this code is identical to code in + // smartInsertAfterNewLine + block = getLastOpenBlockType(d, c.offset) + if (curLineStr.trim.endsWith("\\")) { + resultIndent = getLineIndent(d, line - 1) + } + else if (block == null) { + lastCodeLine := getLastCodeLine(d, line) + // if our line is inside brackets, get line with opening bracket + block = getLastOpenBlockType(d, d.getLineOffset(curLine)); + if (block != null) { + peer := scanner.findOpeningPeer(d.getLineOffset(curLine), block.opening, block.closing) + if (peer != null) + lastCodeLine = d.getLineOfOffset(peer) + } + // no code above us, just copy last indent + if (-1 == lastCodeLine) { + resultIndent = getLineIndent(d, line - 1) + } else { + resultIndent = getLineIndent(d, lastCodeLine) + } + } else { + lastCodeLine := d.getLineOfOffset(block.offset) + lastIndent = getLineIndent(d, lastCodeLine) + resultIndent = lastIndent + block.indent + } + + if (c.offset >= start + resultIndent.size) + return false // we already in the place + + currentIndent := getLineIndent(d, line) + if (!currentIndent.startsWith(resultIndent)) + return false // we have no place to jump + + c.length = 0 + c.shiftsCaret = false + c.text = "" + c.caretOffset = d.getLineOffset(line) + resultIndent.size + + //} catch (BadLocationException e) { + // e.printStackTrace + // return false + //} + return true + } + + /** + * Installs a partitioner with document. + * + * @param document + * the document + */ + /*private static void installStuff(Document document) { + String[] types = new String[] { + IFanPartitions.FAN_STRING, + IFanPartitions.FAN_MULTI_LINE_COMMENT, + IFanPartitions.FAN_SINGLE_LINE_COMMENT, + IFanPartitions.FAN_INTERPRETER_STRING, IFanPartitions.FAN_DOC, + IFanPartitions.FAN_DSL, IDocument.DEFAULT_CONTENT_TYPE }; + FastPartitioner partitioner = new FastPartitioner( + new FanPartitionScanner(), types); + partitioner.connect(document); + document.setDocumentPartitioner(IFanPartitions.FAN_PARTITIONING, + partitioner); + }*/ + + /** + * Removes a partitioner with document. + * + * @param document + * the document + */ + /*private static void removeStuff(Document document) { + document.setDocumentPartitioner(IFanPartitions.FAN_PARTITIONING, null); + }*/ + + /** + * Reindents c.text when pasting(simply indents all to common level). + * + * @param d + * @param c + */ + /*@SuppressWarnings("unused") + private void smartPasteSimple(IDocument d, DocumentCommand c) { + try { + String content = d.get(0, c.offset) + c.text; + Document temp = new Document(content); + int line = d.getLineOfOffset(c.offset); + int start = d.getLineOffset(line); + int relativeIndent = 0; + int sline = line + 1; + String commonIndent = getLineIndent(d, line); + int back = -1; + if (d.get(start, c.offset - start).trim().length() == 0) { + // we are inserting lines block + // TODO: recalc common indent try to detect cutten line + int i; + int depth = 0; + myloop: for (i = 0; i < c.text.length(); i++) { + switch (c.text.charAt(i)) { + case '(': + case '{': + case '[': + depth++; + break; + case ')': + case ']': + case '}': + depth--; + break; + case '\n': + break myloop; + } + } + if (depth == 0 + && i != c.text.length() + && getRegionType(temp, c.offset + i) != IFanPartitions.FAN_STRING) { + String first = getLineIndent(c.text.substring(0, i)); + String second = getLineIndent(temp, line + 1); + temp.replace(start, c.offset - start + first.length(), + second); + } else + temp.replace(start, c.offset - start, ""); + back = c.offset - start; + relativeIndent = getPhysicalLength(getLineIndent(temp, line)); + sline = line; + } + while (true) { + try { + getDocumentLine(temp, sline); + } catch (BadLocationException e) { + break; // signal of the end of lines + } + String currentIndent = getLineIndent(temp, sline); + int newIndentLen = getPhysicalLength(commonIndent) + + getPhysicalLength(currentIndent) - relativeIndent; + String newIndent = generateIndent(newIndentLen); // may be do + // here + temp.replace(temp.getLineOffset(sline), currentIndent.length(), + newIndent); + sline++; + } + if (back > 0) { + c.offset = start; + c.text = temp.get(start, temp.getLength() - start); + c.length += back; + } else { + c.text = temp.get(c.offset, temp.getLength() - c.offset); + } + } catch (BadLocationException e) { + e.printStackTrace(); + } + }*/ + + private Str generateIndent(Int newIndentLen) { + res := "" + if (getTabStyle != CodeFormatterConstants.SPACE) { + ts := getTabSize + while (newIndentLen >= ts) { + res += "\t"; + newIndentLen -= ts; + } + } + if (getTabStyle().equals(CodeFormatterConstants.TAB)) { + if (newIndentLen > 0) res += "\t" + } else + res += Str.spaces(newIndentLen) + return res + } + + private Str remakeIndent(Str indent) { + generateIndent(getPhysicalLength(indent)) + } + + private Bool previousIsFirstContinuation(IDocument d, FanHeuristicScanner scanner, Int offset, Int bound) { + if (!previousIsContinuation(scanner, offset, bound)) return false + line := d.getLineOfOffset(offset) + if (line == 0) return true + prev := d.getLineInformation(line - 1) + return !previousIsContinuation(scanner, prev.getOffset + prev.getLength, prev.getOffset) + } + + private Bool previousIsContinuation(FanHeuristicScanner scanner, Int offset, Int bound) { + continuationTokens.contains(scanner.previousToken(offset, bound)) + } + + /*private void smartPaste2(IDocument d, DocumentCommand cmd) { + try { + String content = d.get(0, cmd.offset) + cmd.text; + Document temp = new Document(content); + installStuff(temp); + Vector blocks = new Vector(); + int figs = 0; // count of braces + int cmdLine = d.getLineOfOffset(cmd.offset); + int cmdLineStart = d.getLineOffset(cmdLine); + int startLine = d.getLineOfOffset(cmd.offset) + 1; + if (d.get(cmdLineStart, cmd.offset - cmdLineStart).trim().length() == 0) + // we are inserting lines block + startLine--; + int offset = 0; + while (offset < temp.getLength()) { + ITypedRegion region = TextUtilities.getPartition(temp, + fPartitioning, offset, true); + if (region.getType() != IDocument.DEFAULT_CONTENT_TYPE + && figs == 0) { + offset = region.getOffset() + region.getLength(); + continue; + } + char c = temp.getChar(offset); + if (c == '\\') { + offset += 2; + continue; + } + switch (c) { + case ')': + case ']': + case '}': + if (c == '}') + figs--; + if (blocks.size() > 0) { + blocks.removeElementAt(blocks.size() - 1); + } + break; + } + + int line = temp.getLineOfOffset(offset); + String currentIndent = getLineIndent(temp, line); + // if may start reindenting + if (line >= startLine + && offset == temp.getLineOffset(line) + + currentIndent.length()) { + StringBuffer newIndentBuf = new StringBuffer(); + Iterator iter = blocks.iterator(); + while (iter.hasNext()) { + FanBlock b = iter.next(); + newIndentBuf.append(b.indent); + } + String newIndent = newIndentBuf.toString(); + temp.replace(temp.getLineOffset(line), currentIndent + .length(), newIndent); + offset = temp.getLineOffset(line) + newIndent.length(); + } + + switch (c) { + case '(': + blocks.add(new RoundBracketBlock(offset)); + break; + case '[': + blocks.add(new BracketBlock(offset)); + break; + case '{': + figs++; + blocks.add(new BraceBlock(offset)); + break; + } + + offset++; + } + if (cmd.offset - offset > 0) { + cmd.text = temp.get(cmdLineStart, temp.getLength() + - cmdLineStart); + cmd.offset = cmdLineStart; + } else { + cmd.text = temp.get(cmd.offset, temp.getLength() - cmd.offset); + } + removeStuff(temp); + } catch (BadLocationException e) { + e.printStackTrace(); + } + }*/ + + /** + * get partition covering offset + * + * @param d + * @param offset + * @return + * @throws BadLocationException + */ + private Str getRegionType(IDocument d, Int offset) { + TextUtilities.getPartition(d, partitioning, offset, true).getType + } + + /* + * @see + * org.eclipse.jface.text.IAutoIndentStrategy#customizeDocumentCommand(org + * .eclipse.jface.text.IDocument, org.eclipse.jface.text.DocumentCommand) + */ + override Void customizeDocumentCommand(IDocument? d, DocumentCommand? c) { + if (!c.doit) return + if (c.length == 0 && c.text != null && d.getLegalLineDelimiters().contains(c.text)) { + if (isSmartMode) + smartIndentAfterNewLine(d, c) + else + super.customizeDocumentCommand(d, c) + } + else if (c.length <= 1 && c.text.size == 1) { + switch (c.text[0]) { + case '}': + smartIndentAfterClosingBracket(d, c); + case '\t': + jumped := false + if (preferenceStore.getBoolean(FanPreferenceConstants.EDITOR_SMART_TAB)) + jumped = smartIndentJump(d, c); + if (!jumped && getTabStyle == CodeFormatterConstants.SPACE) + c.text = Str.spaces(getTabSize) + } + } + else if (c.length == 0 && c.text.size >= 1 && c.text.trim.size == 0) { + jumped := false + if (preferenceStore.getBoolean(FanPreferenceConstants.EDITOR_SMART_TAB)) + jumped = smartIndentJump(d, c); + if (!jumped && getTabStyle == CodeFormatterConstants.SPACE) + c.text = Str.spaces(getTabSize) + } + else if (c.text.size >= 1 && isSmartPaste()) { + // smartPasteSimple(d, c); // + } + // else if (c.text.length() >= 1 && isSmartPaste()) { + // smartPaste2(d, c); // ureacheble code + // } + } } /* * Block is and opening char seq. and closing char seq. Each block have it's * own indent */ -internal class FanBlock -{ - const Int offset - const Int opening - const Int closing - const Str indent - new makeParentheses(Int o,Str indent) - { - offset = o - opening = '(' - closing = ')' - this.indent = indent - } - new makeBrackets(Int o,Str indent) - { - offset = o - opening = '[' - closing = ']' - this.indent = indent - } - new makeBraces(Int o,Str indent) - { - offset = o - opening = '{' - closing = '}' - this.indent = indent - } +internal class FanBlock { + const Int offset + const Int opening + const Int closing + const Str indent + new makeParentheses(Int o,Str indent) { + offset = o + opening = '(' + closing = ')' + this.indent = indent + } + new makeBrackets(Int o,Str indent) { + offset = o + opening = '[' + closing = ']' + this.indent = indent + } + new makeBraces(Int o,Str indent) { + offset = o + opening = '{' + closing = '}' + this.indent = indent + } } From 46830b0a0e2e685d6707d4acd90e6a0b74560256 Mon Sep 17 00:00:00 2001 From: Steve Eynon <3326741+SlimerDude@users.noreply.github.com> Date: Fri, 8 Jun 2018 11:33:33 +0100 Subject: [PATCH 23/23] NPE bug fix Fixes #112 Tabbing on comments in using statements causes errors --- com.xored.f4.ui.text/f4uiText.pod | Bin 187030 -> 186728 bytes .../fan/editor/FanAutoEditStrategy.fan | 302 +++++++++--------- .../internal/ui/text/FanAutoEditStrategy.java | 2 +- 3 files changed, 146 insertions(+), 158 deletions(-) diff --git a/com.xored.f4.ui.text/f4uiText.pod b/com.xored.f4.ui.text/f4uiText.pod index 067f064d7fbaaac9af3e6dda38a6ffd8a9f42127..ef1e1c7d9810342d4240483e527ad661602c8ba9 100644 GIT binary patch delta 21174 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 DF!Yk) delta 21425 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%0A} zL_>IoVG^#tzvcYzSVy*mcy+q4`576}pLcMq&f7NCmPfW+Pe3pbZukdcr!jI3z_i%)xj{pUJpi5 -1) { @@ -250,122 +248,117 @@ class FanAutoEditStrategy : DefaultIndentLineAutoEditStrategy { private Void smartIndentAfterNewLine(IDocument d, DocumentCommand c) { if (c.offset == -1 || d.getLength() == 0) return - //try { - scanner := FanHeuristicScanner(d) - pos := (c.offset == d.getLength() ? c.offset - 1 : c.offset) - line := d.getLineOfOffset(pos) - curLine := d.getLineOfOffset(c.offset) - curLineStr := getDocumentLine(d, curLine) - - resultIndent := "" - lastIndent := "" - FanBlock? block := null - needPeer := false - // if we need to jump into middle of block without inserting peer brace - dummyPeer := false - - block = getLastOpenBlockType(d, c.offset) - if (curLineStr.trim.endsWith("\\")) + + scanner := FanHeuristicScanner(d) + pos := (c.offset == d.getLength() ? c.offset - 1 : c.offset) + line := d.getLineOfOffset(pos) + curLine := d.getLineOfOffset(c.offset) + curLineStr := getDocumentLine(d, curLine) + + resultIndent := "" + lastIndent := "" + FanBlock? block := null + needPeer := false + // if we need to jump into middle of block without inserting peer brace + dummyPeer := false + + block = getLastOpenBlockType(d, c.offset) + if (curLineStr.trim.endsWith("\\")) + resultIndent = getLineIndent(d, line - 1) + else if (block == null) { + lastCodeLine := getLastCodeLine(d, line) + // no code above us, just copy last indent + if (lastCodeLine == null) resultIndent = getLineIndent(d, line - 1) - else if (block == null) { - lastCodeLine := getLastCodeLine(d, line) - // no code above us, just copy last indent - if (lastCodeLine == null) - resultIndent = getLineIndent(d, line - 1) - else { - // if our line is inside brackets, get line with opening - // bracket - block = getLastOpenBlockType(d, d.getLineOffset(lastCodeLine)) - if (block != null) { - peer := scanner.findOpeningPeer(d.getLineOffset(lastCodeLine), block.opening, block.closing) - if (peer != null) { - lastCodeLine = d.getLineOfOffset(peer) - } + else { + // if our line is inside brackets, get line with opening + // bracket + block = getLastOpenBlockType(d, d.getLineOffset(lastCodeLine)) + if (block != null) { + peer := scanner.findOpeningPeer(d.getLineOffset(lastCodeLine), block.opening, block.closing) + if (peer != null) { + lastCodeLine = d.getLineOfOffset(peer) } - resultIndent = getLineIndent(d, lastCodeLine) } + resultIndent = getLineIndent(d, lastCodeLine) } - else { - // block != null - lastCodeLine := d.getLineOfOffset(block.offset) - lastIndent = getLineIndent(d, lastCodeLine) + } + else { + // block != null + lastCodeLine := d.getLineOfOffset(block.offset) + lastIndent = getLineIndent(d, lastCodeLine) + + resultIndent = lastIndent + block.indent + + cPos := pos + while ((d.getChar(cPos) == ' ' || d.getChar(cPos) == '\t')) { + if (cPos == d.getLength() - 1) + break + cPos++ + } + if (block.closing == d.getChar(cPos)) + dummyPeer = true + // find closing peer, if exists + peerOffset := scanner.findClosingPeer(pos, 0, block.opening, block.closing) + // if not fount peer, we need it + if (peerOffset == null) + needPeer = true + } - resultIndent = lastIndent + block.indent + if (!(block?.opening == '[' || block?.opening == '(')) { + firstContinuation := previousIsFirstContinuation(d, scanner, c.offset, curLine) + continuation := !firstContinuation && previousIsContinuation(scanner, c.offset, curLine) - cPos := pos - while ((d.getChar(cPos) == ' ' || d.getChar(cPos) == '\t')) { - if (cPos == d.getLength() - 1) - break - cPos++ - } - if (block.closing == d.getChar(cPos)) - dummyPeer = true - // find closing peer, if exists - peerOffset := scanner.findClosingPeer(pos, 0, block.opening, block.closing) - // if not fount peer, we need it - if (peerOffset == null) - needPeer = true - } + if (firstContinuation) + resultIndent += defaultIndent + else if (continuation) + resultIndent += getLineIndent(d, line - 1) + // process line indent + } - if (!(block?.opening == '[' || block?.opening == '(')) { - firstContinuation := previousIsFirstContinuation(d, - scanner, c.offset, curLine) - continuation := !firstContinuation - && previousIsContinuation(scanner, c.offset, curLine) - - if (firstContinuation) - resultIndent += defaultIndent - else if (continuation) - resultIndent += getLineIndent(d, line - 1) - // process line indent - } + resultIndent = remakeIndent(resultIndent) - resultIndent = remakeIndent(resultIndent) + reg := d.getLineInformation(line) + lineEnd := reg.getOffset() + reg.getLength() - reg := d.getLineInformation(line) - lineEnd := reg.getOffset() + reg.getLength() + contentStart := findEndOfWhiteSpace(d, c.offset, lineEnd) + c.length = 0.max(contentStart - c.offset) - contentStart := findEndOfWhiteSpace(d, c.offset, lineEnd) - c.length = 0.max(contentStart - c.offset) + if (block?.opening == '{' && !preferenceStore.getBoolean(FanPreferenceConstants.EDITOR_CLOSE_BRACES)) + needPeer = false - if (block?.opening == '{' && !preferenceStore.getBoolean(FanPreferenceConstants.EDITOR_CLOSE_BRACES)) - needPeer = false + if ((block?.opening == '[' || block?.opening == '(') && !preferenceStore.getBoolean(FanPreferenceConstants.EDITOR_CLOSE_BRACKETS)) + needPeer = false - if ((block?.opening == '[' || block?.opening == '(') && !preferenceStore.getBoolean(FanPreferenceConstants.EDITOR_CLOSE_BRACKETS)) - needPeer = false + if ((needPeer || dummyPeer) && block?.opening == '{') { + //block != null + buf := StrBuf().add(c.text).add(resultIndent) + c.shiftsCaret = false + c.caretOffset = c.offset + buf.size + prevBlock := getLastOpenBlockType(d, block.offset - 1) + insideRoundBrackets := (prevBlock != null && prevBlock?.opening == '(') + if (!dummyPeer && !insideRoundBrackets && lineEnd - contentStart > 0) { + c.length = lineEnd - c.offset + buf.add(d.get(contentStart, lineEnd - contentStart)) + } - if ((needPeer || dummyPeer) && block?.opening == '{') { - //block != null - buf := StrBuf().add(c.text).add(resultIndent) - c.shiftsCaret = false - c.caretOffset = c.offset + buf.size - prevBlock := getLastOpenBlockType(d, block.offset - 1) - insideRoundBrackets := (prevBlock != null && prevBlock?.opening == '(') - if (!dummyPeer && !insideRoundBrackets && lineEnd - contentStart > 0) { - c.length = lineEnd - c.offset - buf.add(d.get(contentStart, lineEnd - contentStart)) - } + buf.add(TextUtilities.getDefaultLineDelimiter(d)) + buf.add(lastIndent) - buf.add(TextUtilities.getDefaultLineDelimiter(d)) - buf.add(lastIndent) - - if (!dummyPeer) { - if (insideRoundBrackets) { - buf.addChar(block.closing) - if (lineEnd - contentStart > 0) { - c.length = lineEnd - c.offset - buf.add(d.get(contentStart, lineEnd - contentStart)) - } - } else - buf.addChar(block.closing) - } - c.text = buf.toStr + if (!dummyPeer) { + if (insideRoundBrackets) { + buf.addChar(block.closing) + if (lineEnd - contentStart > 0) { + c.length = lineEnd - c.offset + buf.add(d.get(contentStart, lineEnd - contentStart)) + } + } else + buf.addChar(block.closing) } - else - c.text += resultIndent - //} catch (BadLocationException e) { - // e.printStackTrace - //} + c.text = buf.toStr + } + else + c.text += resultIndent } /*@SuppressWarnings("unused") @@ -510,61 +503,56 @@ class FanAutoEditStrategy : DefaultIndentLineAutoEditStrategy { private Bool smartIndentJump(IDocument d, DocumentCommand c) { if (c.offset == -1 || d.getLength() == 0) return false - //try { - scanner := FanHeuristicScanner(d) - p := c.offset == d.getLength ? c.offset - 1 : c.offset - curLine := d.getLineOfOffset(c.offset) - curLineStr := getDocumentLine(d, curLine) - line := d.getLineOfOffset(p) - start := d.getLineOffset(line) - resultIndent := "" - lastIndent := "" - FanBlock? block - - // DUPLICATION: this code is identical to code in - // smartInsertAfterNewLine - block = getLastOpenBlockType(d, c.offset) - if (curLineStr.trim.endsWith("\\")) { - resultIndent = getLineIndent(d, line - 1) + scanner := FanHeuristicScanner(d) + p := c.offset == d.getLength ? c.offset - 1 : c.offset + curLine := d.getLineOfOffset(c.offset) + curLineStr := getDocumentLine(d, curLine) + + line := d.getLineOfOffset(p) + start := d.getLineOffset(line) + resultIndent := "" + lastIndent := "" + FanBlock? block + + // DUPLICATION: this code is identical to code in smartIndentAfterNewLine + block = getLastOpenBlockType(d, c.offset) + if (curLineStr.trim.endsWith("\\")) { + resultIndent = getLineIndent(d, line - 1) + } + else if (block == null) { + lastCodeLine := getLastCodeLine(d, line) + // if our line is inside brackets, get line with opening bracket + block = getLastOpenBlockType(d, d.getLineOffset(curLine)); + if (block != null) { + peer := scanner.findOpeningPeer(d.getLineOffset(curLine), block.opening, block.closing) + if (peer != null) + lastCodeLine = d.getLineOfOffset(peer) } - else if (block == null) { - lastCodeLine := getLastCodeLine(d, line) - // if our line is inside brackets, get line with opening bracket - block = getLastOpenBlockType(d, d.getLineOffset(curLine)); - if (block != null) { - peer := scanner.findOpeningPeer(d.getLineOffset(curLine), block.opening, block.closing) - if (peer != null) - lastCodeLine = d.getLineOfOffset(peer) - } - // no code above us, just copy last indent - if (-1 == lastCodeLine) { - resultIndent = getLineIndent(d, line - 1) - } else { - resultIndent = getLineIndent(d, lastCodeLine) - } + // no code above us, just copy last indent + if (lastCodeLine == null) { + resultIndent = getLineIndent(d, line - 1) } else { - lastCodeLine := d.getLineOfOffset(block.offset) - lastIndent = getLineIndent(d, lastCodeLine) - resultIndent = lastIndent + block.indent + resultIndent = getLineIndent(d, lastCodeLine) } + } else { + lastCodeLine := d.getLineOfOffset(block.offset) + lastIndent = getLineIndent(d, lastCodeLine) + resultIndent = lastIndent + block.indent + } - if (c.offset >= start + resultIndent.size) - return false // we already in the place + if (c.offset >= start + resultIndent.size) + return false // we already in the place - currentIndent := getLineIndent(d, line) - if (!currentIndent.startsWith(resultIndent)) - return false // we have no place to jump + currentIndent := getLineIndent(d, line) + if (!currentIndent.startsWith(resultIndent)) + return false // we have no place to jump - c.length = 0 - c.shiftsCaret = false - c.text = "" - c.caretOffset = d.getLineOffset(line) + resultIndent.size + c.length = 0 + c.shiftsCaret = false + c.text = "" + c.caretOffset = d.getLineOffset(line) + resultIndent.size - //} catch (BadLocationException e) { - // e.printStackTrace - // return false - //} return true } diff --git a/com.xored.fanide.ui/src/com/xored/fanide/internal/ui/text/FanAutoEditStrategy.java b/com.xored.fanide.ui/src/com/xored/fanide/internal/ui/text/FanAutoEditStrategy.java index 434ec910..485e5173 100644 --- a/com.xored.fanide.ui/src/com/xored/fanide/internal/ui/text/FanAutoEditStrategy.java +++ b/com.xored.fanide.ui/src/com/xored/fanide/internal/ui/text/FanAutoEditStrategy.java @@ -692,7 +692,7 @@ private boolean smartIndentJump(IDocument d, DocumentCommand c) { FanBlock block; // DUPLICATION: this code is identical to code in - // smartInsertAfterNewLine + // smartIndentAfterNewLine block = getLastOpenBlockType(d, c.offset); if (curLineStr.trim().endsWith("\\")) { resultIndent = getLineIndent(d, line - 1);

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ïrjimh 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