Browse Source

Add for deoplete source

Shougo Matsushita 4 years ago
parent
commit
bc46bd4be6
2 changed files with 42 additions and 0 deletions
  1. 1
    0
      .gitignore
  2. 41
    0
      rplugin/python3/deoplete/sources/neosnippet.py

+ 1
- 0
.gitignore View File

@@ -1 +1,2 @@
1
+*.py[cod]
1 2
 doc/tags

+ 41
- 0
rplugin/python3/deoplete/sources/neosnippet.py View File

@@ -0,0 +1,41 @@
1
+#=============================================================================
2
+# FILE: neosnippet.py
3
+# AUTHOR: Shougo Matsushita <Shougo.Matsu at gmail.com>
4
+# License: MIT license  {{{
5
+#     Permission is hereby granted, free of charge, to any person obtaining
6
+#     a copy of this software and associated documentation files (the
7
+#     "Software"), to deal in the Software without restriction, including
8
+#     without limitation the rights to use, copy, modify, merge, publish,
9
+#     distribute, sublicense, and/or sell copies of the Software, and to
10
+#     permit persons to whom the Software is furnished to do so, subject to
11
+#     the following conditions:
12
+#
13
+#     The above copyright notice and this permission notice shall be included
14
+#     in all copies or substantial portions of the Software.
15
+#
16
+#     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17
+#     OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+#     MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
+#     IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20
+#     CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21
+#     TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22
+#     SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23
+# }}}
24
+#=============================================================================
25
+
26
+import re
27
+
28
+class Source(object):
29
+    def __init__(self):
30
+        self.filters = ['matcher_fuzzy']
31
+        pass
32
+
33
+    def get_complete_position(self, vim, context):
34
+        m = re.search(context.input, r'[a-zA-Z_][a-zA-Z0-9_]')
35
+        if m:
36
+            return m.start()
37
+        else:
38
+            return -1
39
+
40
+    def gather_candidates(self, vim, context):
41
+        return vim.eval("map(values(neosnippet#helpers#get_snippets()), 'v:val.word')")