annotate tests/hgterm.ti @ 25596:c1975809a6b5

templater: take any string literals as template, but not for rawstring (BC) This patch series is intended to unify the interpretation of string literals. It is breaking change that boldly assumes a. string literal "..." never contains template-like fragment or it is intended to be a template b. we tend to use raw string literal r"..." for regexp pattern in which "{" should have different meaning Currently, we don't have a comprehensible rule how string literals are evaluated in template functions. For example, fill() takes "initialindent" and "hangindent" as templates, but not for "text", whereas "text" is a template in pad() function. date(date, fmt) diff(includepattern, excludepattern) fill(text, width, initialident: T, hangindent: T) get(dict, key) if(expr, then: T, else: T) ifcontains(search, thing, then: T, else: T) ifeq(expr1, expr2, then: T, else: T) indent(text, indentchars, firstline) join(list, sep) label(label: T, expr: T) pad(text: T, width, fillchar, right) revset(query, formatargs...]) rstdoc(text, style) shortest(node, minlength) startswith(pattern, text) strip(text, chars) sub(pattern, replacement, expression: T) word(number, text, separator) expr % template: T T: interpret "string" or r"rawstring" as template This patch series adjusts the rule as follows: a. string literal, '' or "", starts template processing (BC) b. raw string literal, r'' or r"", disables both \-escape and template processing (BC, done by subsequent patches) c. fragment not surrounded by {} is non-templated string "ccc{'aaa'}{r'bbb'}" ------------------ *: template --- c: string --- a: template --- b: rawstring Because this can eliminate the compilation of template arguments from the evaluation phase, "hg log -Tdefault" gets faster. % cd mozilla-central % LANG=C HGRCPATH=/dev/null hg log -Tdefault -r0:10000 --time > /dev/null before: real 4.870 secs (user 4.860+0.000 sys 0.010+0.000) after: real 3.480 secs (user 3.440+0.000 sys 0.030+0.000) Also, this will allow us to parse nested templates at once for better error indication.
author Yuya Nishihara <yuya@tcha.org>
date Sat, 13 Jun 2015 19:49:54 +0900
parents f0b047a24c57
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14757
f0b047a24c57 tests: hardcode terminfo entry for the terminfo color test
Danek Duvall <duvall@comfychair.org>
parents:
diff changeset
1 hgterm,
f0b047a24c57 tests: hardcode terminfo entry for the terminfo color test
Danek Duvall <duvall@comfychair.org>
parents:
diff changeset
2 am, km, mir, msgr, xenl,
f0b047a24c57 tests: hardcode terminfo entry for the terminfo color test
Danek Duvall <duvall@comfychair.org>
parents:
diff changeset
3 colors#8, cols#80, it#8, lines#24, pairs#64,
f0b047a24c57 tests: hardcode terminfo entry for the terminfo color test
Danek Duvall <duvall@comfychair.org>
parents:
diff changeset
4 acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
f0b047a24c57 tests: hardcode terminfo entry for the terminfo color test
Danek Duvall <duvall@comfychair.org>
parents:
diff changeset
5 bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r,
f0b047a24c57 tests: hardcode terminfo entry for the terminfo color test
Danek Duvall <duvall@comfychair.org>
parents:
diff changeset
6 csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\b,
f0b047a24c57 tests: hardcode terminfo entry for the terminfo color test
Danek Duvall <duvall@comfychair.org>
parents:
diff changeset
7 cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
f0b047a24c57 tests: hardcode terminfo entry for the terminfo color test
Danek Duvall <duvall@comfychair.org>
parents:
diff changeset
8 cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
f0b047a24c57 tests: hardcode terminfo entry for the terminfo color test
Danek Duvall <duvall@comfychair.org>
parents:
diff changeset
9 dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
f0b047a24c57 tests: hardcode terminfo entry for the terminfo color test
Danek Duvall <duvall@comfychair.org>
parents:
diff changeset
10 ed=\E[J, el=\E[K, enacs=\E)0, home=\E[H, ht=\t,
f0b047a24c57 tests: hardcode terminfo entry for the terminfo color test
Danek Duvall <duvall@comfychair.org>
parents:
diff changeset
11 hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=\n,
f0b047a24c57 tests: hardcode terminfo entry for the terminfo color test
Danek Duvall <duvall@comfychair.org>
parents:
diff changeset
12 is2=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8, kbs=\b,
f0b047a24c57 tests: hardcode terminfo entry for the terminfo color test
Danek Duvall <duvall@comfychair.org>
parents:
diff changeset
13 kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
f0b047a24c57 tests: hardcode terminfo entry for the terminfo color test
Danek Duvall <duvall@comfychair.org>
parents:
diff changeset
14 kdch1=\E[3~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~,
f0b047a24c57 tests: hardcode terminfo entry for the terminfo color test
Danek Duvall <duvall@comfychair.org>
parents:
diff changeset
15 kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
f0b047a24c57 tests: hardcode terminfo entry for the terminfo color test
Danek Duvall <duvall@comfychair.org>
parents:
diff changeset
16 kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
f0b047a24c57 tests: hardcode terminfo entry for the terminfo color test
Danek Duvall <duvall@comfychair.org>
parents:
diff changeset
17 kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, kf4=\E[14~,
f0b047a24c57 tests: hardcode terminfo entry for the terminfo color test
Danek Duvall <duvall@comfychair.org>
parents:
diff changeset
18 kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
f0b047a24c57 tests: hardcode terminfo entry for the terminfo color test
Danek Duvall <duvall@comfychair.org>
parents:
diff changeset
19 kf9=\E[20~, kfnd=\E[1~, kich1=\E[2~, kmous=\E[M,
f0b047a24c57 tests: hardcode terminfo entry for the terminfo color test
Danek Duvall <duvall@comfychair.org>
parents:
diff changeset
20 knp=\E[6~, kpp=\E[5~, kslt=\E[4~, op=\E[m, rc=\E8,
f0b047a24c57 tests: hardcode terminfo entry for the terminfo color test
Danek Duvall <duvall@comfychair.org>
parents:
diff changeset
21 rev=\E[7m, ri=\EM, rmacs=^O, rmcup=\E[2J\E[?47l\E8,
f0b047a24c57 tests: hardcode terminfo entry for the terminfo color test
Danek Duvall <duvall@comfychair.org>
parents:
diff changeset
22 rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
f0b047a24c57 tests: hardcode terminfo entry for the terminfo color test
Danek Duvall <duvall@comfychair.org>
parents:
diff changeset
23 rs2=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8, sc=\E7,
f0b047a24c57 tests: hardcode terminfo entry for the terminfo color test
Danek Duvall <duvall@comfychair.org>
parents:
diff changeset
24 setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr0=\E[m,
f0b047a24c57 tests: hardcode terminfo entry for the terminfo color test
Danek Duvall <duvall@comfychair.org>
parents:
diff changeset
25 smacs=^N, smcup=\E7\E[?47h, smir=\E[4h,
f0b047a24c57 tests: hardcode terminfo entry for the terminfo color test
Danek Duvall <duvall@comfychair.org>
parents:
diff changeset
26 smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
f0b047a24c57 tests: hardcode terminfo entry for the terminfo color test
Danek Duvall <duvall@comfychair.org>
parents:
diff changeset
27 u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c,