Last active
August 29, 2015 14:21
-
-
Save objmagic/90759d2d09eaea92bc33 to your computer and use it in GitHub Desktop.
Merlin does auto complete this
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| (* can be compiled with $corebuild functor_autocomplete.native *) | |
| open Core_kernel.Std | |
| module Key : Map.Key = struct | |
| type t = int list with sexp | |
| let compare (l1:t) (l2:t) : int = | |
| if Set.equal | |
| (Set.of_list ~comparator:Int.comparator l1) | |
| (Set.of_list ~comparator:Int.comparator l2) then 1 else 0 | |
| end | |
| module LMap : Map.S = Map.Make(Key) | |
| let map = LMap.empty (* autocomplete empty function does not work, with C-x C-o *) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| {"time":5,"level":"info","section":"general","title":"monitor start","content":["general","info"]} | |
| {"time":5,"level":"info","section":"general","title":"available logging sections","content":["general","destruct","dot_merlin","typedtrie","project_load","parser","locate","recover","protocol","explain","main"]} | |
| {"time":5,"level":"info","section":"general","title":"monitor start","content":["protocol","info"]} | |
| {"time":5,"level":"info","section":"protocol","title":"input","content":{"delta":0,"body":["reset","auto","/Users/runhang/Dropbox/Projects/thinking-dump/ocaml/state_machine/test.ml"]}} | |
| {"time":13,"level":"info","section":"protocol","title":"output","content":{"delta":7,"body":["return",{"cursor":{"line":1,"col":0},"marker":false}]}} | |
| {"time":13,"level":"info","section":"protocol","title":"input","content":{"delta":0,"body":["project","get"]}} | |
| {"time":13,"level":"info","section":"protocol","title":"output","content":{"delta":0,"body":["return",{"result":["/Users/runhang/Dropbox/Projects/thinking-dump/ocaml/state_machine/.merlin"]}]}} | |
| {"time":13,"level":"info","section":"protocol","title":"input","content":{"delta":0,"body":["reset","auto","/Users/runhang/Dropbox/Projects/thinking-dump/ocaml/state_machine/test.ml"]}} | |
| {"time":13,"level":"info","section":"protocol","title":"output","content":{"delta":0,"body":["return",{"cursor":{"line":1,"col":0},"marker":false}]}} | |
| {"time":13,"level":"info","section":"protocol","title":"input","content":{"delta":0,"body":["seek","exact",{"line":1,"col":0}]}} | |
| {"time":13,"level":"info","section":"protocol","title":"output","content":{"delta":0,"body":["return",{"cursor":{"line":1,"col":0},"marker":false}]}} | |
| {"time":13,"level":"info","section":"protocol","title":"input","content":{"delta":0,"body":["tell","start"]}} | |
| {"time":13,"level":"info","section":"protocol","title":"output","content":{"delta":0,"body":["return",{"cursor":{"line":1,"col":0},"marker":false}]}} | |
| {"time":14,"level":"info","section":"protocol","title":"input","content":{"delta":0,"body":["tell","source","open Core_kernel.Std\n\nmodule Key : Map.Key = struct\n\n type t = int list with sexp\n\n let compare (l1:t) (l2:t) : int = \n if Set.equal \n (Set.of_list ~comparator:Int.comparator l1)\n (Set.of_list ~comparator:Int.comparator l2) then 1 else 0\n\nend\n\nmodule LMap : Map.S = Map.Make(Key)\n\nlet map = LMap.empty (* autocomplete empty function does not work, with C-x C-o *)\n"]}} | |
| {"time":14,"level":"info","section":"protocol","title":"output","content":{"delta":0,"body":["return",{"cursor":{"line":17,"col":0},"marker":false}]}} | |
| {"time":14,"level":"info","section":"protocol","title":"input","content":{"delta":0,"body":["tell","marker"]}} | |
| {"time":14,"level":"info","section":"protocol","title":"output","content":{"delta":0,"body":["return",{"cursor":{"line":17,"col":0},"marker":true}]}} | |
| {"time":14,"level":"info","section":"protocol","title":"input","content":{"delta":0,"body":["tell","eof"]}} | |
| {"time":14,"level":"info","section":"protocol","title":"output","content":{"delta":0,"body":["return",{"cursor":{"line":17,"col":0},"marker":false}]}} | |
| {"time":14,"level":"info","section":"protocol","title":"input","content":{"delta":0,"body":["seek","exact",{"line":16,"col":0}]}} | |
| {"time":14,"level":"info","section":"protocol","title":"output","content":{"delta":0,"body":["return",{"cursor":{"line":14,"col":35},"marker":false}]}} | |
| {"time":14,"level":"info","section":"protocol","title":"input","content":{"delta":0,"body":["tell","start"]}} | |
| {"time":14,"level":"info","section":"protocol","title":"output","content":{"delta":0,"body":["return",{"cursor":{"line":14,"col":34},"marker":false}]}} | |
| {"time":14,"level":"info","section":"protocol","title":"input","content":{"delta":0,"body":["tell","source",")\n\nlet map = LMap.empty (* autocomplete empty function does not work, with C-x C-o *)\n"]}} | |
| {"time":14,"level":"info","section":"protocol","title":"output","content":{"delta":0,"body":["return",{"cursor":{"line":17,"col":0},"marker":false}]}} | |
| {"time":14,"level":"info","section":"protocol","title":"input","content":{"delta":0,"body":["tell","marker"]}} | |
| {"time":14,"level":"info","section":"protocol","title":"output","content":{"delta":0,"body":["return",{"cursor":{"line":17,"col":0},"marker":true}]}} | |
| {"time":14,"level":"info","section":"protocol","title":"input","content":{"delta":0,"body":["tell","eof"]}} | |
| {"time":14,"level":"info","section":"protocol","title":"output","content":{"delta":0,"body":["return",{"cursor":{"line":17,"col":0},"marker":false}]}} | |
| {"time":14,"level":"info","section":"protocol","title":"input","content":{"delta":0,"body":["errors"]}} | |
| {"time":204,"level":"info","section":"protocol","title":"output","content":{"delta":189,"body":["return",[]]}} | |
| {"time":205,"level":"info","section":"protocol","title":"input","content":{"delta":0,"body":["seek","exact",{"line":16,"col":0}]}} | |
| {"time":205,"level":"info","section":"protocol","title":"output","content":{"delta":0,"body":["return",{"cursor":{"line":14,"col":35},"marker":false}]}} | |
| {"time":205,"level":"info","section":"protocol","title":"input","content":{"delta":0,"body":["tell","start"]}} | |
| {"time":205,"level":"info","section":"protocol","title":"output","content":{"delta":0,"body":["return",{"cursor":{"line":14,"col":34},"marker":false}]}} | |
| {"time":205,"level":"info","section":"protocol","title":"input","content":{"delta":0,"body":["tell","source",")\n\nLMap.\n"]}} | |
| {"time":205,"level":"info","section":"protocol","title":"output","content":{"delta":0,"body":["return",{"cursor":{"line":17,"col":0},"marker":false}]}} | |
| {"time":205,"level":"info","section":"protocol","title":"input","content":{"delta":0,"body":["tell","marker"]}} | |
| {"time":205,"level":"info","section":"protocol","title":"output","content":{"delta":0,"body":["return",{"cursor":{"line":17,"col":0},"marker":true}]}} | |
| {"time":205,"level":"info","section":"protocol","title":"input","content":{"delta":0,"body":["tell","source","\nlet map = LMap.empty (* autocomplete empty function does not work, with C-x C-o *)\n"]}} | |
| {"time":205,"level":"info","section":"protocol","title":"output","content":{"delta":0,"body":["return",{"cursor":{"line":19,"col":0},"marker":false}]}} | |
| {"time":205,"level":"info","section":"protocol","title":"input","content":{"delta":0,"body":["seek","marker"]}} | |
| {"time":205,"level":"info","section":"protocol","title":"output","content":{"delta":0,"body":["return",{"cursor":{"line":18,"col":3},"marker":false}]}} | |
| {"time":205,"level":"info","section":"protocol","title":"input","content":{"delta":0,"body":["complete","prefix","LMap.","at",{"line":16,"col":5}]}} | |
| {"time":206,"level":"info","section":"protocol","title":"output","content":{"delta":0,"body":["return",{"entries":[],"context":null}]}} | |
| {"time":206,"level":"info","section":"protocol","title":"input","content":{"delta":0,"body":["seek","exact",{"line":16,"col":0}]}} | |
| {"time":206,"level":"info","section":"protocol","title":"output","content":{"delta":0,"body":["return",{"cursor":{"line":14,"col":35},"marker":false}]}} | |
| {"time":206,"level":"info","section":"protocol","title":"input","content":{"delta":0,"body":["tell","start"]}} | |
| {"time":206,"level":"info","section":"protocol","title":"output","content":{"delta":0,"body":["return",{"cursor":{"line":14,"col":34},"marker":false}]}} | |
| {"time":206,"level":"info","section":"protocol","title":"input","content":{"delta":0,"body":["tell","source",")\n\nLMap.\n"]}} | |
| {"time":206,"level":"info","section":"protocol","title":"output","content":{"delta":0,"body":["return",{"cursor":{"line":17,"col":0},"marker":false}]}} | |
| {"time":206,"level":"info","section":"protocol","title":"input","content":{"delta":0,"body":["tell","marker"]}} | |
| {"time":206,"level":"info","section":"protocol","title":"output","content":{"delta":0,"body":["return",{"cursor":{"line":17,"col":0},"marker":true}]}} | |
| {"time":206,"level":"info","section":"protocol","title":"input","content":{"delta":0,"body":["tell","source","\nlet map = LMap.empty (* autocomplete empty function does not work, with C-x C-o *)\n"]}} | |
| {"time":206,"level":"info","section":"protocol","title":"output","content":{"delta":0,"body":["return",{"cursor":{"line":19,"col":0},"marker":false}]}} | |
| {"time":206,"level":"info","section":"protocol","title":"input","content":{"delta":0,"body":["seek","marker"]}} | |
| {"time":206,"level":"info","section":"protocol","title":"output","content":{"delta":0,"body":["return",{"cursor":{"line":18,"col":3},"marker":false}]}} | |
| {"time":206,"level":"info","section":"protocol","title":"input","content":{"delta":0,"body":["expand","prefix","LMap.","at",{"line":16,"col":5}]}} | |
| {"time":208,"level":"info","section":"protocol","title":"output","content":{"delta":1,"body":["return",{"entries":[],"context":null}]}} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment