Skip to content

Commit ca7218e

Browse files
committed
Merge pull request #16 from cryogenian/caption
added caption field to Completion
2 parents 0fdc9d9 + 92adffb commit ca7218e

File tree

4 files changed

+23
-5
lines changed

4 files changed

+23
-5
lines changed

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
],
2121
"dependencies": {
2222
"purescript-console": "^0.1.1",
23-
"purescript-dom": "^0.2.10",
23+
"purescript-dom": "^0.2.12",
2424
"purescript-arrays": "^0.4.3",
2525
"purescript-foreign": "^0.7.2",
2626
"purescript-nullable": "^0.2.1",

example/src/Main.purs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,10 +136,12 @@ main = onLoad $ do
136136
(\_ _ _ inp cb -> do
137137
cb $ pure [ { value: inp <> "!!"
138138
, score: 100.0
139+
, caption: pure "???"
139140
, meta: "!!"
140141
}
141142
, { value: "abcde"
142143
, score: 200.0
144+
, caption: Nothing
143145
, meta: "abcde"
144146
} ] )
145147
LanguageTools.addCompleter completer languageTools

src/Ace/Ext/LanguageTools/Completer.js

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,26 @@ exports.mkCompleterImpl = function(getCompletionCb, isJust, fromJust) {
88
getCompletions: function(editor, session, pos, prefix, callback) {
99
return getCompletionCb(editor)(session)(pos)(prefix)(function(mb){
1010
return function() {
11-
if (isJust(mb)) {
12-
return callback(null, fromJust(mb));
13-
}
14-
else {
11+
if (!isJust(mb)) {
1512
return callback("Error in getCompletion", null);
13+
1614
}
15+
var result = [],
16+
extracted = fromJust(mb),
17+
i = 0,
18+
item;
19+
for (i; i < extracted.length; i++) {
20+
item = extracted[i];
21+
if (isJust(item.caption)) {
22+
item.caption = fromJust(item.caption);
23+
}
24+
else {
25+
item.caption = undefined;
26+
}
27+
result.push(item);
28+
}
29+
return callback(null, result);
30+
1731
};
1832
})();
1933
}

src/Ace/Types.purs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import Control.Bind ((>=>))
66
import Data.Either (Either(..))
77
import Data.Foreign (F(), ForeignError(..), readString)
88
import Data.Foreign.Class (IsForeign, readProp)
9+
import Data.Maybe (Maybe())
910

1011
type AnchorEvent =
1112
{ old :: Position
@@ -145,4 +146,5 @@ type Completion =
145146
{ value :: String
146147
, score :: Number
147148
, meta :: String
149+
, caption :: Maybe String
148150
}

0 commit comments

Comments
 (0)