[Updated] D11640: chistedit: move renderpatch() and dependencies onto state class
martinvonz (Martin von Zweigbergk)
phabricator at mercurial-scm.org
Wed Oct 13 22:27:21 UTC 2021
Closed by commit rHG33ece8857efa: chistedit: move renderpatch() and dependencies onto state class (authored by martinvonz).
This revision was automatically updated to reflect the committed changes.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D11640?vs=30728&id=30780
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D11640/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D11640
AFFECTED FILES
hgext/histedit.py
CHANGE DETAILS
diff --git a/hgext/histedit.py b/hgext/histedit.py
--- a/hgext/histedit.py
+++ b/hgext/histedit.py
@@ -1564,6 +1564,33 @@
rulesscr.noutrefresh()
+ def render_string(self, win, output, diffcolors=False):
+ maxy, maxx = win.getmaxyx()
+ length = min(maxy - 1, len(output))
+ for y in range(0, length):
+ line = output[y]
+ if diffcolors:
+ if line and line[0] == b'+':
+ win.addstr(
+ y, 0, line, curses.color_pair(COLOR_DIFF_ADD_LINE)
+ )
+ elif line and line[0] == b'-':
+ win.addstr(
+ y, 0, line, curses.color_pair(COLOR_DIFF_DEL_LINE)
+ )
+ elif line.startswith(b'@@ '):
+ win.addstr(y, 0, line, curses.color_pair(COLOR_DIFF_OFFSET))
+ else:
+ win.addstr(y, 0, line)
+ else:
+ win.addstr(y, 0, line)
+ win.noutrefresh()
+
+ def render_patch(self, win):
+ start = self.modes[MODE_PATCH][b'line_offset']
+ content = self.modes[MODE_PATCH][b'patchcontents']
+ self.render_string(win, content[start:], diffcolors=True)
+
def _chisteditmain(repo, rules, stdscr):
try:
@@ -1592,33 +1619,6 @@
except curses.error:
pass
- def renderstring(win, state, output, diffcolors=False):
- maxy, maxx = win.getmaxyx()
- length = min(maxy - 1, len(output))
- for y in range(0, length):
- line = output[y]
- if diffcolors:
- if line and line[0] == b'+':
- win.addstr(
- y, 0, line, curses.color_pair(COLOR_DIFF_ADD_LINE)
- )
- elif line and line[0] == b'-':
- win.addstr(
- y, 0, line, curses.color_pair(COLOR_DIFF_DEL_LINE)
- )
- elif line.startswith(b'@@ '):
- win.addstr(y, 0, line, curses.color_pair(COLOR_DIFF_OFFSET))
- else:
- win.addstr(y, 0, line)
- else:
- win.addstr(y, 0, line)
- win.noutrefresh()
-
- def renderpatch(win, state):
- start = state.modes[MODE_PATCH][b'line_offset']
- content = state.modes[MODE_PATCH][b'patchcontents']
- renderstring(win, state, content[start:], diffcolors=True)
-
def drawvertwin(size, y, x):
win = curses.newwin(size[0], size[1], y, x)
y += size[0]
@@ -1675,9 +1675,9 @@
helpwin.erase()
mainwin.erase()
if curmode == MODE_PATCH:
- renderpatch(mainwin, state)
+ state.render_patch(mainwin)
elif curmode == MODE_HELP:
- renderstring(mainwin, state, __doc__.strip().splitlines())
+ state.render_string(mainwin, __doc__.strip().splitlines())
else:
state.render_rules(mainwin)
state.render_commit(commitwin)
To: martinvonz, durin42, #hg-reviewers, pulkit
Cc: mercurial-patches
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurial-scm.org/pipermail/mercurial-patches/attachments/20211013/2257267f/attachment-0002.html>
More information about the Mercurial-patches
mailing list