diff --git a/autoload/thesaurus_query/thesaurus_query.py b/autoload/thesaurus_query/thesaurus_query.py
index 093e11d..792ddf5 100644
--- a/autoload/thesaurus_query/thesaurus_query.py
+++ b/autoload/thesaurus_query/thesaurus_query.py
@@ -1,7 +1,6 @@
-# Python backend for looking up words in an online thesaurus. Idea from
-# project vim-online_thesaurus by Anton Beloglazov .
+# Python backend for looking up words in an online thesaurus.
+#
# Author: HE Chong [[chong.he.1989@gmail.com][E-mail]]
-# Original idea: Anton Beloglazov
try:
import vim
@@ -14,18 +13,24 @@
from .tq_common_lib import decode_utf_8, send_string_to_vim, get_variable, vim_command, vim_eval
class Thesaurus_Query_Handler:
- '''
- It holds and manages wordlist from previous query. It also interface the
- query request from vim with default query routine or other user defined
- routine when word is not already in the wordlist.
+ ''' Handler for thesaurus_query
+ Description:
+ It holds and manages wordlist from previous query. It also interface
+ the query request from vim with default query routine or other user
+ defined routine when word is not already in the wordlist.
'''
def __init__(self, cache_size_max=100):
+ ''' Initialize handler, load all available backends. '''
self.wordlist_size_max = cache_size_max
self.restore_thesaurus_query_handler()
self.query_backends = tq_backends.query_backends
def query(self, word):
+ """ Query from enabled backend one by one until synonym found
+ return:
+ synonym_list
+ """
if word in self.word_list: # search word_list first to save query time
return self.word_list[word]
@@ -82,6 +87,13 @@ def restore_thesaurus_query_handler(self):
self.query_backend_priority.insert(0,"mthesaur_txt")
def truncate_synonym_list(synonym_list):
+ """ Truncate synonym_list according to user truncation settings
+ return:
+ [truncated_flag, truncated_list]
+ truncated_flag:
+ 0 -> no truncation is made
+ 1 -> valid truncation is made
+ """
truncated_flag = 0
# number of definitions retained in output
truncate_on_definition = int(
@@ -108,9 +120,7 @@ def truncate_synonym_list(synonym_list):
return [truncated_flag, output_buffer]
def tq_word_form_reverse(target_word):
- '''
- adjust candidate according to trimmed word
- '''
+ ''' adjust candidate to match trimmed word's case(upper/lower/mixed) '''
if independent_session: # this module don't work in Vim independent session
return None
wordOriginal = decode_utf_8(vim.eval('l:trimmed_word'))
@@ -121,8 +131,9 @@ def tq_word_form_reverse(target_word):
return target_word
def tq_candidate_list_populate(candidates):
- '''
- generate waitlist and result_IDed to be shown on message_box
+ ''' generate IDed waitlist and prepare it to show on message_box
+ return:
+ [largest_ID, candidate_waitlist, IDed_candidate_waitlist]
'''
waitlist = []
result_IDed = []
@@ -137,10 +148,11 @@ def tq_candidate_list_populate(candidates):
return [word_ID, waitlist, result_IDed]
def tq_replace_cursor_word_from_candidates(candidate_list):
- '''
- Using vim's color message box to populate a candidate list from found
- synonyms. Then ask user to choose suitable candidate to replace word under
- cursor.
+ ''' populate candidate list, replace target word/phrase with candidate
+ Description:
+ Using vim's color message box to populate a candidate list from found
+ synonyms. Then ask user to choose suitable candidate to replace word
+ under cursor.
'''
if independent_session: # this module don't work in Vim independent session
return None
@@ -277,10 +289,7 @@ def scan_current_layer(find_tail):
]
def tq_generate_thesaurus_buffer(candidates):
- '''
- generate a buffer showing all found synonyms in the candidate list from
- query
- '''
+ ''' generate a buffer in Vim to show all found synonyums from query '''
if independent_session: # this module don't work in Vim independent session
return None
vim_command("silent! let l:thesaurus_window = bufwinnr('^thesaurus: ')")
diff --git a/autoload/thesaurus_query/tq_common_lib.py b/autoload/thesaurus_query/tq_common_lib.py
index 2c34cc4..43eaf32 100644
--- a/autoload/thesaurus_query/tq_common_lib.py
+++ b/autoload/thesaurus_query/tq_common_lib.py
@@ -1,3 +1,7 @@
+# Supportive Python library for thesaurus_query.vim.
+#
+# Author: HE Chong [[chong.he.1989@gmail.com][E-mail]]
+
import sys
import urllib
try:
@@ -22,17 +26,13 @@
urlpurlunsplit = urlparse.urlunsplit
def decode_utf_8(string_in):
- '''
- safely decode string into unicode string
- '''
+ ''' safely decode string into unicode string '''
if sys.version_info < (3,0):
return string_in.decode('utf-8') if not isinstance(string_in, unicode) else string_in
return string_in.decode('utf-8') if not isinstance(string_in, str) else string_in
def encode_utf_8(string_in):
- '''
- safely encode unicode string to string
- '''
+ ''' safely encode unicode string to string '''
if sys.version_info < (3,0):
return string_in.encode('utf-8') if isinstance(string_in, unicode) else string_in
return string_in.encode('utf-8') if isinstance(string_in, str) else string_in
@@ -49,7 +49,9 @@ def send_string_to_vim(string_in):
return encode_utf_8(string_in)
def fixurl(url):
- ''' return url-compatible ascii string
+ ''' translate string into url compatible ascii string
+ return:
+ url-compatible_ascii_string
code by Markus Jarderot
'''
url = decode_utf_8(url)
@@ -92,10 +94,11 @@ def fixurl(url):
return urlparse.urlunsplit((scheme,netloc,path,query,fragment))
def get_variable(v_name, default=None):
- '''
- return: vim_variable # buffer variable tried first, global variable second
- default # if no variable exists, or module used independently
- # from Vim session.
+ ''' get variable from Vim
+ return:
+ vim_variable # buffer variable tried first, global variable second
+ default # if no variable exists, or module used independently
+ # from Vim session.
'''
if independent_session:
return default
@@ -111,11 +114,13 @@ def get_variable(v_name, default=None):
return vim.eval('b:'+v_name)
def vim_command(command):
+ """ wrapper for Vim command, do nothing if session is Vim independent """
if independent_session:
return None
vim.command(command)
def vim_eval(command):
+ """ wrapper for Vim eval, return None if session is Vim independent """
if independent_session:
return None
return vim.eval(command)