Adds pycache to gitignore
This commit is contained in:
parent
4abe9dd5f3
commit
e83e46be9b
3 changed files with 1 additions and 68 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1 +1,2 @@
|
|||
.netrwhist
|
||||
__pychache__
|
||||
|
|
Binary file not shown.
|
@ -1,68 +0,0 @@
|
|||
# Modified by Jonathan Hodgson
|
||||
|
||||
# Originally from https://github.com/michaeladler/deoplete-abook/blob/master/rplugin/python3/deoplete/sources/abook.py
|
||||
# Original Copyright:
|
||||
# Copyright (c) 2017 Filip Szymański. All rights reserved.
|
||||
# Use of this source code is governed by an MIT license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
import configparser
|
||||
import os.path
|
||||
import re
|
||||
|
||||
from .base import Base # pylint: disable=E0401
|
||||
|
||||
|
||||
# pylint: disable=W0201,W0613
|
||||
class Source(Base):
|
||||
COLON_PATTERN = re.compile(r':\s?')
|
||||
COMMA_PATTERN = re.compile(r'.+,\s?')
|
||||
HEADER_PATTERN = re.compile(r'^(Bcc|Cc|From|Reply-To|To):(\s?|.+,\s?)')
|
||||
|
||||
def __init__(self, vim):
|
||||
super().__init__(vim)
|
||||
|
||||
self.__cache = []
|
||||
|
||||
self.filetypes = ['mail']
|
||||
self.mark = '[abook]'
|
||||
self.matchers = ['matcher_length', 'matcher_full_fuzzy']
|
||||
self.min_pattern_length = 0
|
||||
self.name = 'abook'
|
||||
|
||||
def on_init(self, context):
|
||||
self.__datafile = context['vars'].get('deoplete#sources#abook#datafile',
|
||||
os.path.expanduser('~/.abook/addressbook'))
|
||||
if not os.path.isfile(self.__datafile):
|
||||
self.vim.err_write('[deoplete-abook] No such file: {0}\n'.format(self.__datafile))
|
||||
|
||||
def on_event(self, context):
|
||||
self.__make_cache()
|
||||
|
||||
def gather_candidates(self, context):
|
||||
if self.HEADER_PATTERN.search(context['input']) is not None:
|
||||
if not self.__cache:
|
||||
self.__make_cache()
|
||||
|
||||
return self.__cache
|
||||
|
||||
def get_complete_position(self, context):
|
||||
colon = self.COLON_PATTERN.search(context['input'])
|
||||
comma = self.COMMA_PATTERN.search(context['input'])
|
||||
return max(colon.end() if colon is not None else -1,
|
||||
comma.end() if comma is not None else -1)
|
||||
|
||||
def __make_cache(self):
|
||||
addressbook = configparser.ConfigParser()
|
||||
addressbook.read(self.__datafile)
|
||||
for section in addressbook.sections():
|
||||
emails = addressbook.get(section, 'email', fallback=None)
|
||||
if emails is not None:
|
||||
name = addressbook.get(section, 'name', fallback=None)
|
||||
for email in emails.split(','):
|
||||
if name is not None:
|
||||
email = '"{0}" <{1}>'.format(name, email)
|
||||
|
||||
self.__cache.append({'word': email})
|
||||
|
||||
# vim: ts=4 et sw=4
|
Loading…
Add table
Add a link
Reference in a new issue