KT-759 Filter keywords auto completion according to context

This commit is contained in:
Nikolay Krasko
2011-12-28 17:51:18 +04:00
parent 939f9ac279
commit f259b7d397
11 changed files with 408 additions and 46 deletions
@@ -0,0 +1,4 @@
class TestClass {
val a : Int
ge<caret>
}
@@ -0,0 +1,4 @@
class TestClass {
val a : Int
get()<caret>
}
@@ -3,4 +3,4 @@ fun foo() {
str. <caret>
}
// ABSENT: public, val, in
// ABSENT: public, val, in, if, when, this
@@ -0,0 +1,54 @@
class TestClass {
<caret>
}
// EXIST: abstract
// ABSENT: annotation
// ABSENT: as
// ABSENT: break
// ABSENT: by
// ABSENT: catch
// EXIST: class
// ABSENT: continue
// ABSENT: default
// ABSENT: do
// ABSENT: else
// EXIST: enum
// ABSENT: false
// EXIST: final
// ABSENT: finally
// ABSENT: for
// EXIST: fun
// EXIST: get
// ABSENT: if
// ABSENT: import
// ABSENT: in
// EXIST: inline
// EXIST: internal
// ABSENT: is
// ABSENT: null
// ABSENT: object
// EXIST: open
// ABSENT: out
// EXIST: override
// ABSENT: package
// EXIST: private
// EXIST: protected
// EXIST: public
// ABSENT: ref
// ABSENT: return
// EXIST: set
// ABSENT: super
// ABSENT: This
// ABSENT: this
// ABSENT: throw
// EXIST: trait
// ABSENT: true
// ABSENT: try
// EXIST: type
// EXIST: val
// EXIST: var
// ABSENT: vararg
// ABSENT: when
// ABSENT: where
// ABSENT: while
@@ -2,4 +2,53 @@ fun foo() {
<caret>
}
// EXIST: val, var
// ABSENT: abstract
// ??ABSENT: annotation // java annotation namespace
// EXIST: as
// EXIST: break
// EXIST: by
// EXIST: catch
// EXIST: class
// EXIST: continue
// EXIST: default
// EXIST: do
// EXIST: else
// EXIST: enum
// EXIST: false
// ABSENT: final
// EXIST: finally
// EXIST: for
// EXIST: fun
// EXIST: get
// EXIST: if
// ABSENT: import
// EXIST: in
// EXIST: inline
// EXIST: internal
// EXIST: is
// EXIST: null
// EXIST: object
// ABSENT: open
// ABSENT: out
// ABSENT: override
// ABSENT: package
// EXIST: private
// EXIST: protected
// EXIST: public
// EXIST: ref
// EXIST: return
// EXIST: set
// EXIST: super
// EXIST: This
// EXIST: this
// EXIST: throw
// EXIST: trait
// EXIST: true
// EXIST: try
// EXIST: type
// EXIST: val
// EXIST: var
// EXIST: vararg
// EXIST: when
// EXIST: where
// EXIST: while
@@ -0,0 +1,54 @@
fun test(<caret>) {
}
// ABSENT: abstract
// ABSENT: annotation
// ABSENT: as
// ABSENT: break
// ABSENT: by
// ABSENT: catch
// ABSENT: class
// ABSENT: continue
// ABSENT: default
// ABSENT: do
// ABSENT: else
// ABSENT: enum
// ABSENT: false
// ABSENT: final
// ABSENT: finally
// ABSENT: for
// ABSENT: fun
// ABSENT: get
// ABSENT: if
// ABSENT: import
// ABSENT: in
// ABSENT: inline
// ABSENT: internal
// ABSENT: is
// ABSENT: null
// ABSENT: object
// ABSENT: open
// EXIST: out
// ABSENT: override
// ABSENT: package
// ABSENT: private
// ABSENT: protected
// ABSENT: public
// EXIST: ref
// ABSENT: return
// ABSENT: set
// ABSENT: super
// ABSENT: This
// ABSENT: this
// ABSENT: throw
// ABSENT: trait
// ABSENT: true
// ABSENT: try
// ABSENT: type
// ABSENT: val
// ABSENT: var
// ABSENT: vararg
// ABSENT: when
// ABSENT: where
// ABSENT: while
@@ -0,0 +1,8 @@
var a : Int = <caret>
// EXIST: else
// EXIST: false
// EXIST: if
// EXIST: null
// EXIST: this
// EXIST: true
@@ -2,5 +2,53 @@ fun foo() {
val test : <caret>
}
// TODO: Move all keywords to absent
// EXIST: fun, val, var, namespace
// ABSENT: abstract
// ??ABSENT: annotation // java annotation namespace
// EXIST: as
// EXIST: break
// EXIST: by
// EXIST: catch
// EXIST: class
// EXIST: continue
// EXIST: default
// EXIST: do
// EXIST: else
// EXIST: enum
// EXIST: false
// ABSENT: final
// EXIST: finally
// EXIST: for
// EXIST: fun
// EXIST: get
// EXIST: if
// ABSENT: import
// EXIST: in
// EXIST: inline
// EXIST: internal
// EXIST: is
// EXIST: null
// EXIST: object
// ABSENT: open
// ABSENT: out
// ABSENT: override
// ABSENT: package
// EXIST: private
// EXIST: protected
// EXIST: public
// EXIST: ref
// EXIST: return
// EXIST: set
// EXIST: super
// EXIST: This
// EXIST: this
// EXIST: throw
// EXIST: trait
// EXIST: true
// EXIST: try
// EXIST: type
// EXIST: val
// EXIST: var
// EXIST: vararg
// EXIST: when
// EXIST: where
// EXIST: while
+50 -6
View File
@@ -1,8 +1,52 @@
<caret>
// EXIST: namespace, as, type, class, this, super, val, var, fun, for, null, true
// EXIST: false, is, in, throw, return, break, continue, object, if, try, else, while
// EXIST: do, when, trait, This
// EXIST: import, where, by, get, set, abstract, enum, open, annotation, override, private
// EXIST: public, internal, protected, catch, out, vararg, inline, finally, final, ref
// ABSENT: ?in, new, extends, implements
// EXIST: abstract
// ABSENT: annotation
// ABSENT: as
// ABSENT: break
// ABSENT: by
// ABSENT: catch
// EXIST: class
// ABSENT: continue
// ABSENT: default
// ABSENT: do
// ABSENT: else
// EXIST: enum
// ABSENT: false
// EXIST: final
// ABSENT: finally
// ABSENT: for
// EXIST: fun
// EXIST: get
// ABSENT: if
// EXIST: import
// ABSENT: in
// EXIST: inline
// EXIST: internal
// ABSENT: is
// ABSENT: null
// ABSENT: object
// EXIST: open
// ABSENT: out
// ABSENT: override
// EXIST: package
// EXIST: private
// EXIST: protected
// EXIST: public
// ABSENT: ref
// ABSENT: return
// EXIST: set
// ABSENT: super
// ABSENT: This
// ABSENT: this
// ABSENT: throw
// EXIST: trait
// ABSENT: true
// ABSENT: try
// EXIST: type
// EXIST: val
// EXIST: var
// ABSENT: vararg
// ABSENT: when
// ABSENT: where
// ABSENT: while