56 lines
1.2 KiB
Python
56 lines
1.2 KiB
Python
import os
|
|
import util
|
|
|
|
# default callbacks
|
|
def none(w):
|
|
return None
|
|
|
|
def last_buffer(w):
|
|
bl = w.application.bufferlist
|
|
if bl.hidden_buffers:
|
|
return bl.hidden_buffers[0].name()
|
|
else:
|
|
return ''
|
|
|
|
def current_buffer(w):
|
|
return w.buffer.name()
|
|
|
|
def current_word(w):
|
|
return w.get_word() or ''
|
|
|
|
def current_token(w):
|
|
if w.mode.name not in w.buffer.highlights:
|
|
return ''
|
|
token = w.get_token()
|
|
if token:
|
|
return token.string
|
|
else:
|
|
return ''
|
|
|
|
def last_replace_before(w):
|
|
a = w.application
|
|
if a.config.get('use_last_replace') and a.last_replace_before:
|
|
return a.last_replace_before
|
|
return None
|
|
def last_replace_after(w):
|
|
a = w.application
|
|
if a.config.get('use_last_replace') and a.last_replace_after:
|
|
return w.application.last_replace_after
|
|
return None
|
|
|
|
def current_working_dir(w):
|
|
return util.normal_path(os.getcwd())
|
|
|
|
def path_dirname(w):
|
|
if hasattr(w.buffer, 'path'):
|
|
return util.normal_path(os.path.dirname(w.buffer.path))
|
|
else:
|
|
return current_working_dir(w)
|
|
|
|
# default callback builders
|
|
def build_constant(c):
|
|
return lambda w: c
|
|
|
|
def build_mode_var(name):
|
|
return lambda w: hasattr(w.mode, name) and getattr(w.mode, name) or ''
|