parent
1bdfd3e1b2
commit
9b3ef0fc3e
|
@ -62,7 +62,6 @@ class Man(Exec):
|
||||||
def _execute(self, w, **vargs):
|
def _execute(self, w, **vargs):
|
||||||
name = vargs['name']
|
name = vargs['name']
|
||||||
cmd = 'man %r' % name
|
cmd = 'man %r' % name
|
||||||
#p = Popen(cmd, shell=True, stdout=PIPE, stderr=STDOUT)
|
|
||||||
p = Popen(cmd, shell=True, stdout=PIPE, stderr=PIPE)
|
p = Popen(cmd, shell=True, stdout=PIPE, stderr=PIPE)
|
||||||
output = p.stdout.read()
|
output = p.stdout.read()
|
||||||
result = p.wait()
|
result = p.wait()
|
||||||
|
|
18
mode/perl.py
18
mode/perl.py
|
@ -7,6 +7,7 @@ from lex import Grammar, PatternRule, ContextPatternRule, RegionRule, \
|
||||||
from method import Argument, Method, WrapParagraph
|
from method import Argument, Method, WrapParagraph
|
||||||
from tab import StackTabber, StackTabber2
|
from tab import StackTabber, StackTabber2
|
||||||
from parse import Any, And, Or, Optional, Name, Match, Matchs
|
from parse import Any, And, Or, Optional, Name, Match, Matchs
|
||||||
|
import term
|
||||||
|
|
||||||
class PodDataGrammar(Grammar):
|
class PodDataGrammar(Grammar):
|
||||||
rules = [PatternRule(r'data', r'[^\n]+\n$')]
|
rules = [PatternRule(r'data', r'[^\n]+\n$')]
|
||||||
|
@ -226,6 +227,7 @@ class PerldocModule(PerlBase):
|
||||||
'''View documentation about this buffer using perldoc'''
|
'''View documentation about this buffer using perldoc'''
|
||||||
bname = '*Perldoc*'
|
bname = '*Perldoc*'
|
||||||
prog = 'use Pod::Text; Pod::Text->new()->parse_from_filehandle();';
|
prog = 'use Pod::Text; Pod::Text->new()->parse_from_filehandle();';
|
||||||
|
#prog = 'use Pod::Text::Termcap; Pod::Text::Termcap->new()->parse_from_filehandle();';
|
||||||
def get_args(self, w, **vargs):
|
def get_args(self, w, **vargs):
|
||||||
return ('perl', '-e', self.prog)
|
return ('perl', '-e', self.prog)
|
||||||
def _execute(self, w, **vargs):
|
def _execute(self, w, **vargs):
|
||||||
|
@ -258,21 +260,25 @@ class Perldoc(Method):
|
||||||
w.set_error('nothing found for %r' % name)
|
w.set_error('nothing found for %r' % name)
|
||||||
def _try(self, w, name, asfunc=False):
|
def _try(self, w, name, asfunc=False):
|
||||||
if asfunc:
|
if asfunc:
|
||||||
cmd = "perldoc -t -T -f '%s'" % name
|
cmd = "perldoc -f '%s'" % name
|
||||||
else:
|
else:
|
||||||
cmd = "perldoc -t -T '%s'" % name
|
cmd = "perldoc '%s'" % name
|
||||||
|
|
||||||
l = w.application.config.get('perl.libs', [])
|
l = w.application.config.get('perl.libs', [])
|
||||||
if l:
|
if l:
|
||||||
cmd = 'PERL5LIB=%r %s' % (':'.join(['%r' % x for x in l]), cmd)
|
cmd = 'PERL5LIB=%r %s' % (':'.join(['%r' % x for x in l]), cmd)
|
||||||
|
|
||||||
status, data = commands.getstatusoutput(cmd)
|
p = Popen(cmd, shell=True, stdout=PIPE, stderr=PIPE)
|
||||||
|
output = p.stdout.read()
|
||||||
|
result = p.wait()
|
||||||
|
status = os.WEXITSTATUS(result)
|
||||||
if status == 0:
|
if status == 0:
|
||||||
return data
|
xterm = term.XTerm(cbuf=True)
|
||||||
|
output = xterm.term_filter(output)
|
||||||
|
return output
|
||||||
else:
|
else:
|
||||||
return None
|
return None
|
||||||
def _show(self, w, data, name):
|
def _show(self, w, data, name):
|
||||||
w.application.data_buffer("*Perldoc*", data, switch_to=True)
|
w.application.color_data_buffer("*Perldoc*", data, switch_to=True)
|
||||||
w.set_error('displaying perldoc for %r' % name)
|
w.set_error('displaying perldoc for %r' % name)
|
||||||
|
|
||||||
class PerldocWord(Perldoc):
|
class PerldocWord(Perldoc):
|
||||||
|
|
Loading…
Reference in New Issue