parent
867e38966f
commit
bcb11ed386
5
IDEAS
5
IDEAS
|
@ -1,3 +1,8 @@
|
|||
2008/03/16:
|
||||
|
||||
pdb/gdb/perldb buffer integration
|
||||
error/stack-trace buffer
|
||||
|
||||
2007/10/20:
|
||||
|
||||
Tags for matching should be allowed to be multi-character, and should be
|
||||
|
|
13
aes.py
13
aes.py
|
@ -1,7 +1,8 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# by Erik Osheim
|
||||
import os, popen2
|
||||
import os
|
||||
from subprocess import Popen, PIPE
|
||||
|
||||
class Cipher(object):
|
||||
'''Cipher represents a particular hashing strategy (password, seed, and type). Cipher can encrypt or decrypt data.'''
|
||||
|
@ -23,8 +24,9 @@ def _check_aespipe():
|
|||
def encrypt_data(data, password, seed='aes.py', hashtype='rmd160'):
|
||||
'''Uses password to encrypt data'''
|
||||
_check_aespipe()
|
||||
cmd = "aespipe -S '%s' -H '%s' -p 0" % (seed, hashtype)
|
||||
(stdout, stdin, stderr) = popen2.popen3(cmd)
|
||||
args = ["aespipe", "-S", seed, "-H", hashtype, "-p", "0"]
|
||||
p = Popen(args, stdin=PIPE, stdout=PIPE, stderr=PIPE)
|
||||
(stdout, stdin, stderr) = (p.stdout, p.stdin, p.stderr)
|
||||
stdin.write(password + '\n')
|
||||
stdin.write(data)
|
||||
stdin.close()
|
||||
|
@ -44,8 +46,9 @@ def encrypt_path(path, data, password, seed='aes.py', hashtype='rmd160'):
|
|||
def decrypt_data(encrypted, password, seed='aes.py', hashtype='rmd160'):
|
||||
'''Uses password to decrypt data'''
|
||||
_check_aespipe()
|
||||
cmd = "aespipe -d -S '%s' -H '%s' -p 0" % (seed, hashtype)
|
||||
(stdout, stdin, stderr) = popen2.popen3(cmd)
|
||||
args = ["aespipe", "-d", "-S", seed, "-H", hashtype, "-p", "0"]
|
||||
p = Popen(args, stdin=PIPE, stdout=PIPE, stderr=PIPE)
|
||||
(stdout, stdin, stderr) = (p.stdout, p.stdin, p.stderr)
|
||||
stdin.write(password + '\n')
|
||||
stdin.write(encrypted)
|
||||
stdin.close()
|
||||
|
|
|
@ -40,7 +40,7 @@ class Application(object):
|
|||
(self.y, self.x) = self.stdscr.getmaxyx()
|
||||
|
||||
# initialize some basic stuff
|
||||
# each highlighted_range contains three things: [window, start_p, end_p]
|
||||
# each highlighted_range contains three things: (window, start_p, end_p)
|
||||
self.highlighted_ranges = []
|
||||
self.mini_active = False
|
||||
self.mini_buffer = None
|
||||
|
@ -64,9 +64,9 @@ class Application(object):
|
|||
'string.escaped': ('magenta', 'default'),
|
||||
'string.end': ('green', 'default'),
|
||||
|
||||
'char': ('green', 'default'),
|
||||
'integer': ('green', 'default'),
|
||||
'float': ('green', 'default'),
|
||||
'char': ('default', 'default'),
|
||||
'integer': ('default', 'default'),
|
||||
'float': ('default', 'default'),
|
||||
|
||||
'label': ('magenta', 'default'),
|
||||
'keyword': ('cyan', 'default'),
|
||||
|
@ -440,7 +440,10 @@ class Application(object):
|
|||
path = os.path.join(os.getenv('HOME'), '.pmc', 'conf')
|
||||
if os.path.exists(path):
|
||||
try:
|
||||
execfile(path)
|
||||
f = open(path, 'r')
|
||||
#execfile(path)
|
||||
exec(f)
|
||||
f.close()
|
||||
except Exception, e:
|
||||
s = traceback.format_exc()
|
||||
self.rcerror = 'There was an error during startup:\n\n%s' % s
|
||||
|
|
14
ispell.py
14
ispell.py
|
@ -1,4 +1,5 @@
|
|||
import os, popen2
|
||||
from subprocess import Popen, PIPE, STDOUT
|
||||
import cache
|
||||
|
||||
_speller = None
|
||||
|
@ -23,10 +24,14 @@ class Speller(object):
|
|||
self.pipe = popen2.Popen3('%s -a' % self.cmd, 'rw')
|
||||
self.pipe.childerr.close()
|
||||
self.pipe.fromchild.readline()
|
||||
#self.pipe = Popen('%s -a' % self.cmd, stdin=PIPE, stdout=PIPE)
|
||||
#self.pipe.stdout.readline()
|
||||
|
||||
def stop(self):
|
||||
self.pipe.tochild.close()
|
||||
self.pipe.fromchild.close()
|
||||
#self.pipe.stdin.close()
|
||||
#self.pipe.stdout.close()
|
||||
self.pipe = None
|
||||
|
||||
def restart(self):
|
||||
|
@ -56,13 +61,17 @@ class Speller(object):
|
|||
if self.pipe.poll() >= 0:
|
||||
self.pipe = None
|
||||
self.start()
|
||||
self.pipe.tochild.write("%s\n" % (word))
|
||||
self.pipe.tochild.flush()
|
||||
#self.pipe.tochild.write("%s\n" % (word))
|
||||
#self.pipe.tochild.flush()
|
||||
self.pipe.stdin.write("%s\n" % (word))
|
||||
self.pipe.stdin.flush()
|
||||
l = self.pipe.fromchild.readline()
|
||||
#l = self.pipe.stdout.readline()
|
||||
if l.startswith("*") or l.startswith("+") or l.startswith("-"):
|
||||
result = True
|
||||
while True:
|
||||
l = self.pipe.fromchild.readline()
|
||||
#l = self.pipe.stdout.readline()
|
||||
if l == "\n":
|
||||
break
|
||||
self.cache[word] = result
|
||||
|
@ -73,6 +82,7 @@ class Speller(object):
|
|||
self.pipe = None
|
||||
self.start()
|
||||
self.pipe.tochild.write("*%s\n" % (word))
|
||||
#self.pipe.stdin.write("*%s\n" % (word))
|
||||
self.pipe.tochild.flush()
|
||||
self.flush(word)
|
||||
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
import os, commands, popen2, re, sets, tempfile
|
||||
import os, commands, re, sets, tempfile
|
||||
from subprocess import Popen, PIPE, STDOUT
|
||||
|
||||
import buffer, default, dirutil, regex, util, window
|
||||
from point import Point
|
||||
|
||||
|
@ -1085,15 +1087,20 @@ class FileDiff(Method):
|
|||
args = [Argument("path", type=type(""), prompt="Filename: ", datatype='path')]
|
||||
def _execute(self, w, **vargs):
|
||||
cmd = ("/usr/bin/diff", '-u', '-', vargs['path'])
|
||||
pipe = popen2.Popen3(cmd, capturestderr=True)
|
||||
#pipe = popen2.Popen3(cmd, capturestderr=True)
|
||||
pipe = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE)
|
||||
pid = pipe.pid
|
||||
|
||||
indata = w.buffer.make_string()
|
||||
pipe.tochild.write(indata)
|
||||
pipe.tochild.close()
|
||||
#pipe.tochild.write(indata)
|
||||
#pipe.tochild.close()
|
||||
pipe.stdin.write(indata)
|
||||
pipe.stdin.close()
|
||||
|
||||
outdata = pipe.fromchild.read()
|
||||
errdata = pipe.childerr.read()
|
||||
#outdata = pipe.fromchild.read()
|
||||
#errdata = pipe.childerr.read()
|
||||
outdata = pipe.stdout.read()
|
||||
errdata = pipe.stderr.read()
|
||||
status = pipe.wait() >> 8
|
||||
|
||||
if status == 0:
|
||||
|
@ -1131,10 +1138,12 @@ class SvnBlame(Method):
|
|||
return
|
||||
|
||||
cmd = ("/usr/bin/svn", 'blame', '-v', w.buffer.path)
|
||||
pipe = popen2.Popen3(cmd)
|
||||
#pipe = popen2.Popen3(cmd)
|
||||
pipe = Popen(cmd, stdin=PIPE, stdout=PIPE)
|
||||
|
||||
lines = []
|
||||
for line in pipe.fromchild:
|
||||
#for line in pipe.fromchild:
|
||||
for line in pipe.stdout:
|
||||
m = self.line_re.match(line)
|
||||
if not m:
|
||||
raise Exception, line
|
||||
|
@ -1338,12 +1347,14 @@ class CvsBlame(Method):
|
|||
path = path[len(cwd):]
|
||||
|
||||
cmd = ("/usr/bin/cvs", 'annotate', path)
|
||||
pipe = popen2.Popen3(cmd, capturestderr=True)
|
||||
#pipe = popen2.Popen3(cmd, capturestderr=True)
|
||||
pipe = Popen(cmd, stdout=PIPE)
|
||||
|
||||
tokens = []
|
||||
max_rev = 0
|
||||
max_user = 0
|
||||
for line in pipe.fromchild:
|
||||
#for line in pipe.fromchild:
|
||||
for line in pipe.stdout:
|
||||
m = self.line_re.match(line)
|
||||
if not m:
|
||||
raise Exception, line
|
||||
|
@ -1653,14 +1664,18 @@ class Pipe(Method):
|
|||
if prog is None:
|
||||
return
|
||||
|
||||
pipe = popen2.Popen4(cmd)
|
||||
#pipe = popen2.Popen4(cmd)
|
||||
pipe = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=STDOUT)
|
||||
pid = pipe.pid
|
||||
|
||||
indata = w.buffer.make_string()
|
||||
pipe.tochild.write(indata)
|
||||
pipe.tochild.close()
|
||||
#pipe.tochild.write(indata)
|
||||
#pipe.tochild.close()
|
||||
pipe.stdin.write(indata)
|
||||
pipe.stdin.close()
|
||||
|
||||
outdata = pipe.fromchild.read()
|
||||
#outdata = pipe.fromchild.read()
|
||||
outdata = pipe.stdout.read()
|
||||
status = pipe.wait() >> 8
|
||||
|
||||
bufname = '*%s*' % self.name.title()
|
||||
|
|
10
mode/c.py
10
mode/c.py
|
@ -1,4 +1,5 @@
|
|||
import os, popen2, re
|
||||
import os, re
|
||||
from subprocess import Popen, PIPE, STDOUT
|
||||
import color, default, method, mode, tab
|
||||
from lex import Grammar, PatternRule, RegionRule
|
||||
from mode.python import StringGrammar
|
||||
|
@ -224,9 +225,10 @@ class CSetMake(method.Method):
|
|||
class CMake(method.Method):
|
||||
'''Check the syntax of the current python file'''
|
||||
def _execute(self, w, **vargs):
|
||||
p = popen2.Popen4(w.mode.makecmd)
|
||||
p.tochild.close()
|
||||
output = p.fromchild.read()
|
||||
#p = popen2.Popen4(w.mode.makecmd)
|
||||
p = Popen(w.mode.makecmd, stdout=PIPE)
|
||||
#output = p.fromchild.read()
|
||||
output = p.stdout.read()
|
||||
|
||||
result = p.wait()
|
||||
status = os.WEXITSTATUS(result)
|
||||
|
|
|
@ -39,11 +39,12 @@ class PythonGrammar(Grammar):
|
|||
|
||||
PatternRule(r'identifier', r'[a-zA-Z_][a-zA-Z0-9_]*'),
|
||||
PatternRule(r'delimiter', r'\(|\)|\[|\]|{|}|@|,|:|\.|`|=|;|\+=|-=|\*=|/=|//=|%=|&=|\|=|\^=|>>=|<<=|\*\*='),
|
||||
PatternRule(r"operator", r"\+|<>|<<|<=|<|-|>>|>=|>|\*\*|&|\*|\||/|\^|==|//|~|!=|%"),
|
||||
PatternRule(r"integer", r"(?<![\.0-9a-zA-Z_])(?:0|[1-9][0-9]*|0[0-7]+|0[xX][0-9a-fA-F]+)[lL]?(?![\.0-9a-zA-Z_])"),
|
||||
PatternRule(r"float", r"(?<![\.0-9a-zA-Z_])(?:[0-9]+\.[0-9]*|\.[0-9]+|(?:[0-9]|[0-9]+\.[0-9]*|\.[0-9]+)[eE][\+-]?[0-9]+)(?![\.0-9a-zA-Z_])"),
|
||||
PatternRule(r"integer", r"(?<![\.0-9a-zA-Z_])(?:0|-?[1-9][0-9]*|0[0-7]+|0[xX][0-9a-fA-F]+)[lL]?(?![\.0-9a-zA-Z_])"),
|
||||
PatternRule(r"float", r"(?<![\.0-9a-zA-Z_])(?:-?[0-9]+\.[0-9]*|-?\.[0-9]+|(?:[0-9]|[0-9]+\.[0-9]*|-?\.[0-9]+)[eE][\+-]?[0-9]+)(?![\.0-9a-zA-Z_])"),
|
||||
PatternRule(r"imaginary", r"(?<![\.0-9a-zA-Z_])(?:[0-9]+|(?:[0-9]+\.[0-9]*|\.[0-9]+|(?:[0-9]|[0-9]+\.[0-9]*|\.[0-9]+)[eE][\+-]?[0-9]+)[jJ])(?![\.0-9a-zA-Z_])"),
|
||||
|
||||
PatternRule(r"operator", r"\+|<>|<<|<=|<|-|>>|>=|>|\*\*|&|\*|\||/|\^|==|//|~|!=|%"),
|
||||
|
||||
OverridePatternRule(r'comment', r'#@@:(?P<token>[.a-zA-Z0-9_]+):(?P<mode>[.a-zA-Z0-9_]+) *$'),
|
||||
PatternRule(r'comment', r'#.*$'),
|
||||
PatternRule(r'continuation', r'\\\n$'),
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import commands
|
||||
import color, mode, tab
|
||||
from lex import Grammar, PatternRule, RegionRule
|
||||
from lex import Grammar, PatternRule, RegionRule, OverridePatternRule
|
||||
from method import Method
|
||||
|
||||
class StringGrammar(Grammar):
|
||||
|
@ -65,6 +65,7 @@ class ShGrammar(Grammar):
|
|||
PatternRule(r'variable', r"\$(?=\()"),
|
||||
RegionRule(r'string', "'", Grammar, "'"),
|
||||
RegionRule(r'string', '"', StringGrammar, '"'),
|
||||
OverridePatternRule(r'comment', r'#@@:(?P<token>[.a-zA-Z0-9_]+):(?P<mode>[.a-zA-Z0-9_]+) *$'),
|
||||
PatternRule(r'comment', r'#.*$'),
|
||||
PatternRule(r'bareword', r'[-a-zA-Z0-9_.]+'),
|
||||
PatternRule(r'continuation', r'\\\n$'),
|
||||
|
|
Loading…
Reference in New Issue