corrade-nucleus-nucleons – Blame information for rev 20
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
20 | office | 1 | define("ace/mode/assembly_x86_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) { |
2 | "use strict"; |
||
3 | |||
4 | var oop = require("../lib/oop"); |
||
5 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; |
||
6 | |||
7 | var AssemblyX86HighlightRules = function() { |
||
8 | |||
9 | this.$rules = { start: |
||
10 | [ { token: 'keyword.control.assembly', |
||
11 | regex: '\\b(?:aaa|aad|aam|aas|adc|add|addpd|addps|addsd|addss|addsubpd|addsubps|aesdec|aesdeclast|aesenc|aesenclast|aesimc|aeskeygenassist|and|andpd|andps|andnpd|andnps|arpl|blendpd|blendps|blendvpd|blendvps|bound|bsf|bsr|bswap|bt|btc|btr|bts|cbw|cwde|cdqe|clc|cld|cflush|clts|cmc|cmov(?:n?e|ge?|ae?|le?|be?|n?o|n?z)|cmp|cmppd|cmpps|cmps|cnpsb|cmpsw|cmpsd|cmpsq|cmpss|cmpxchg|cmpxchg8b|cmpxchg16b|comisd|comiss|cpuid|crc32|cvtdq2pd|cvtdq2ps|cvtpd2dq|cvtpd2pi|cvtpd2ps|cvtpi2pd|cvtpi2ps|cvtps2dq|cvtps2pd|cvtps2pi|cvtsd2si|cvtsd2ss|cvts2sd|cvtsi2ss|cvtss2sd|cvtss2si|cvttpd2dq|cvtpd2pi|cvttps2dq|cvttps2pi|cvttps2dq|cvttps2pi|cvttsd2si|cvttss2si|cwd|cdq|cqo|daa|das|dec|div|divpd|divps|divsd|divss|dppd|dpps|emms|enter|extractps|f2xm1|fabs|fadd|faddp|fiadd|fbld|fbstp|fchs|fclex|fnclex|fcmov(?:n?e|ge?|ae?|le?|be?|n?o|n?z)|fcom|fcmop|fcompp|fcomi|fcomip|fucomi|fucomip|fcos|fdecstp|fdiv|fdivp|fidiv|fdivr|fdivrp|fidivr|ffree|ficom|ficomp|fild|fincstp|finit|fnint|fist|fistp|fisttp|fld|fld1|fldl2t|fldl2e|fldpi|fldlg2|fldln2|fldz|fldcw|fldenv|fmul|fmulp|fimul|fnop|fpatan|fprem|fprem1|fptan|frndint|frstor|fsave|fnsave|fscale|fsin|fsincos|fsqrt|fst|fstp|fstcw|fnstcw|fstenv|fnstenv|fsts|fnstsw|fsub|fsubp|fisub|fsubr|fsubrp|fisubr|ftst|fucom|fucomp|fucompp|fxam|fxch|fxrstor|fxsave|fxtract|fyl2x|fyl2xp1|haddpd|haddps|husbpd|hsubps|idiv|imul|in|inc|ins|insb|insw|insd|insertps|int|into|invd|invplg|invpcid|iret|iretd|iretq|lahf|lar|lddqu|ldmxcsr|lds|les|lfs|lgs|lss|lea|leave|lfence|lgdt|lidt|llgdt|lmsw|lock|lods|lodsb|lodsw|lodsd|lodsq|lsl|ltr|maskmovdqu|maskmovq|maxpd|maxps|maxsd|maxss|mfence|minpd|minps|minsd|minss|monitor|mov|movapd|movaps|movbe|movd|movq|movddup|movdqa|movdqu|movq2q|movhlps|movhpd|movhps|movlhps|movlpd|movlps|movmskpd|movmskps|movntdqa|movntdq|movnti|movntpd|movntps|movntq|movq|movq2dq|movs|movsb|movsw|movsd|movsq|movsd|movshdup|movsldup|movss|movsx|movsxd|movupd|movups|movzx|mpsadbw|mul|mulpd|mulps|mulsd|mulss|mwait|neg|not|or|orpd|orps|out|outs|outsb|outsw|outsd|pabsb|pabsw|pabsd|packsswb|packssdw|packusdw|packuswbpaddb|paddw|paddd|paddq|paddsb|paddsw|paddusb|paddusw|palignr|pand|pandn|pause|pavgb|pavgw|pblendvb|pblendw|pclmulqdq|pcmpeqb|pcmpeqw|pcmpeqd|pcmpeqq|pcmpestri|pcmpestrm|pcmptb|pcmptgw|pcmpgtd|pcmpgtq|pcmpistri|pcmpisrm|pextrb|pextrd|pextrq|pextrw|phaddw|phaddd|phaddsw|phinposuw|phsubw|phsubd|phsubsw|pinsrb|pinsrd|pinsrq|pinsrw|pmaddubsw|pmadddwd|pmaxsb|pmaxsd|pmaxsw|pmaxsw|pmaxub|pmaxud|pmaxuw|pminsb|pminsd|pminsw|pminub|pminud|pminuw|pmovmskb|pmovsx|pmovzx|pmuldq|pmulhrsw|pmulhuw|pmulhw|pmulld|pmullw|pmuludw|pop|popa|popad|popcnt|popf|popfd|popfq|por|prefetch|psadbw|pshufb|pshufd|pshufhw|pshuflw|pshufw|psignb|psignw|psignd|pslldq|psllw|pslld|psllq|psraw|psrad|psrldq|psrlw|psrld|psrlq|psubb|psubw|psubd|psubq|psubsb|psubsw|psubusb|psubusw|test|ptest|punpckhbw|punpckhwd|punpckhdq|punpckhddq|punpcklbw|punpcklwd|punpckldq|punpckldqd|push|pusha|pushad|pushf|pushfd|pxor|prcl|rcr|rol|ror|rcpps|rcpss|rdfsbase|rdgsbase|rdmsr|rdpmc|rdrand|rdtsc|rdtscp|rep|repe|repz|repne|repnz|roundpd|roundps|roundsd|roundss|rsm|rsqrps|rsqrtss|sahf|sal|sar|shl|shr|sbb|scas|scasb|scasw|scasd|set(?:n?e|ge?|ae?|le?|be?|n?o|n?z)|sfence|sgdt|shld|shrd|shufpd|shufps|sidt|sldt|smsw|sqrtpd|sqrtps|sqrtsd|sqrtss|stc|std|stmxcsr|stos|stosb|stosw|stosd|stosq|str|sub|subpd|subps|subsd|subss|swapgs|syscall|sysenter|sysexit|sysret|teset|ucomisd|ucomiss|ud2|unpckhpd|unpckhps|unpcklpd|unpcklps|vbroadcast|vcvtph2ps|vcvtp2sph|verr|verw|vextractf128|vinsertf128|vmaskmov|vpermilpd|vpermilps|vperm2f128|vtestpd|vtestps|vzeroall|vzeroupper|wait|fwait|wbinvd|wrfsbase|wrgsbase|wrmsr|xadd|xchg|xgetbv|xlat|xlatb|xor|xorpd|xorps|xrstor|xsave|xsaveopt|xsetbv|lzcnt|extrq|insertq|movntsd|movntss|vfmaddpd|vfmaddps|vfmaddsd|vfmaddss|vfmaddsubbpd|vfmaddsubps|vfmsubaddpd|vfmsubaddps|vfmsubpd|vfmsubps|vfmsubsd|vfnmaddpd|vfnmaddps|vfnmaddsd|vfnmaddss|vfnmsubpd|vfnmusbps|vfnmusbsd|vfnmusbss|cvt|xor|cli|sti|hlt|nop|lock|wait|enter|leave|ret|loop(?:n?e|n?z)?|call|j(?:mp|n?e|ge?|ae?|le?|be?|n?o|n?z))\\b', |
||
12 | caseInsensitive: true }, |
||
13 | { token: 'variable.parameter.register.assembly', |
||
14 | regex: '\\b(?:CS|DS|ES|FS|GS|SS|RAX|EAX|RBX|EBX|RCX|ECX|RDX|EDX|RCX|RIP|EIP|IP|RSP|ESP|SP|RSI|ESI|SI|RDI|EDI|DI|RFLAGS|EFLAGS|FLAGS|R8-15|(?:Y|X)MM(?:[0-9]|10|11|12|13|14|15)|(?:A|B|C|D)(?:X|H|L)|CR(?:[0-4]|DR(?:[0-7]|TR6|TR7|EFER)))\\b', |
||
15 | caseInsensitive: true }, |
||
16 | { token: 'constant.character.decimal.assembly', |
||
17 | regex: '\\b[0-9]+\\b' }, |
||
18 | { token: 'constant.character.hexadecimal.assembly', |
||
19 | regex: '\\b0x[A-F0-9]+\\b', |
||
20 | caseInsensitive: true }, |
||
21 | { token: 'constant.character.hexadecimal.assembly', |
||
22 | regex: '\\b[A-F0-9]+h\\b', |
||
23 | caseInsensitive: true }, |
||
24 | { token: 'string.assembly', regex: /'([^\\']|\\.)*'/ }, |
||
25 | { token: 'string.assembly', regex: /"([^\\"]|\\.)*"/ }, |
||
26 | { token: 'support.function.directive.assembly', |
||
27 | regex: '^\\[', |
||
28 | push: |
||
29 | [ { token: 'support.function.directive.assembly', |
||
30 | regex: '\\]$', |
||
31 | next: 'pop' }, |
||
32 | { defaultToken: 'support.function.directive.assembly' } ] }, |
||
33 | { token: |
||
34 | [ 'support.function.directive.assembly', |
||
35 | 'support.function.directive.assembly', |
||
36 | 'entity.name.function.assembly' ], |
||
37 | regex: '(^struc)( )([_a-zA-Z][_a-zA-Z0-9]*)' }, |
||
38 | { token: 'support.function.directive.assembly', |
||
39 | regex: '^endstruc\\b' }, |
||
40 | { token: |
||
41 | [ 'support.function.directive.assembly', |
||
42 | 'entity.name.function.assembly', |
||
43 | 'support.function.directive.assembly', |
||
44 | 'constant.character.assembly' ], |
||
45 | regex: '^(%macro )([_a-zA-Z][_a-zA-Z0-9]*)( )([0-9]+)' }, |
||
46 | { token: 'support.function.directive.assembly', |
||
47 | regex: '^%endmacro' }, |
||
48 | { token: |
||
49 | [ 'text', |
||
50 | 'support.function.directive.assembly', |
||
51 | 'text', |
||
52 | 'entity.name.function.assembly' ], |
||
53 | regex: '(\\s*)(%define|%xdefine|%idefine|%undef|%assign|%defstr|%strcat|%strlen|%substr|%00|%0|%rotate|%rep|%endrep|%include|\\$\\$|\\$|%unmacro|%if|%elif|%else|%endif|%(?:el)?ifdef|%(?:el)?ifmacro|%(?:el)?ifctx|%(?:el)?ifidn|%(?:el)?ifidni|%(?:el)?ifid|%(?:el)?ifnum|%(?:el)?ifstr|%(?:el)?iftoken|%(?:el)?ifempty|%(?:el)?ifenv|%pathsearch|%depend|%use|%push|%pop|%repl|%arg|%stacksize|%local|%error|%warning|%fatal|%line|%!|%comment|%endcomment|__NASM_VERSION_ID__|__NASM_VER__|__FILE__|__LINE__|__BITS__|__OUTPUT_FORMAT__|__DATE__|__TIME__|__DATE_NUM__|_TIME__NUM__|__UTC_DATE__|__UTC_TIME__|__UTC_DATE_NUM__|__UTC_TIME_NUM__|__POSIX_TIME__|__PASS__|ISTRUC|AT|IEND|BITS 16|BITS 32|BITS 64|USE16|USE32|__SECT__|ABSOLUTE|EXTERN|GLOBAL|COMMON|CPU|FLOAT)\\b( ?)((?:[_a-zA-Z][_a-zA-Z0-9]*)?)', |
||
54 | caseInsensitive: true }, |
||
55 | { token: 'support.function.directive.assembly', |
||
56 | regex: '\\b(?:d[bwdqtoy]|res[bwdqto]|equ|times|align|alignb|sectalign|section|ptr|byte|word|dword|qword|incbin)\\b', |
||
57 | caseInsensitive: true }, |
||
58 | { token: 'entity.name.function.assembly', regex: '^\\s*%%[\\w.]+?:$' }, |
||
59 | { token: 'entity.name.function.assembly', regex: '^\\s*%\\$[\\w.]+?:$' }, |
||
60 | { token: 'entity.name.function.assembly', regex: '^[\\w.]+?:' }, |
||
61 | { token: 'entity.name.function.assembly', regex: '^[\\w.]+?\\b' }, |
||
62 | { token: 'comment.assembly', regex: ';.*$' } ] |
||
63 | } |
||
64 | |||
65 | this.normalizeRules(); |
||
66 | }; |
||
67 | |||
68 | AssemblyX86HighlightRules.metaData = { fileTypes: [ 'asm' ], |
||
69 | name: 'Assembly x86', |
||
70 | scopeName: 'source.assembly' } |
||
71 | |||
72 | |||
73 | oop.inherits(AssemblyX86HighlightRules, TextHighlightRules); |
||
74 | |||
75 | exports.AssemblyX86HighlightRules = AssemblyX86HighlightRules; |
||
76 | }); |
||
77 | |||
78 | define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"], function(require, exports, module) { |
||
79 | "use strict"; |
||
80 | |||
81 | var oop = require("../../lib/oop"); |
||
82 | var BaseFoldMode = require("./fold_mode").FoldMode; |
||
83 | var Range = require("../../range").Range; |
||
84 | |||
85 | var FoldMode = exports.FoldMode = function() {}; |
||
86 | oop.inherits(FoldMode, BaseFoldMode); |
||
87 | |||
88 | (function() { |
||
89 | |||
90 | this.getFoldWidgetRange = function(session, foldStyle, row) { |
||
91 | var range = this.indentationBlock(session, row); |
||
92 | if (range) |
||
93 | return range; |
||
94 | |||
95 | var re = /\S/; |
||
96 | var line = session.getLine(row); |
||
97 | var startLevel = line.search(re); |
||
98 | if (startLevel == -1 || line[startLevel] != "#") |
||
99 | return; |
||
100 | |||
101 | var startColumn = line.length; |
||
102 | var maxRow = session.getLength(); |
||
103 | var startRow = row; |
||
104 | var endRow = row; |
||
105 | |||
106 | while (++row < maxRow) { |
||
107 | line = session.getLine(row); |
||
108 | var level = line.search(re); |
||
109 | |||
110 | if (level == -1) |
||
111 | continue; |
||
112 | |||
113 | if (line[level] != "#") |
||
114 | break; |
||
115 | |||
116 | endRow = row; |
||
117 | } |
||
118 | |||
119 | if (endRow > startRow) { |
||
120 | var endColumn = session.getLine(endRow).length; |
||
121 | return new Range(startRow, startColumn, endRow, endColumn); |
||
122 | } |
||
123 | }; |
||
124 | this.getFoldWidget = function(session, foldStyle, row) { |
||
125 | var line = session.getLine(row); |
||
126 | var indent = line.search(/\S/); |
||
127 | var next = session.getLine(row + 1); |
||
128 | var prev = session.getLine(row - 1); |
||
129 | var prevIndent = prev.search(/\S/); |
||
130 | var nextIndent = next.search(/\S/); |
||
131 | |||
132 | if (indent == -1) { |
||
133 | session.foldWidgets[row - 1] = prevIndent!= -1 && prevIndent < nextIndent ? "start" : ""; |
||
134 | return ""; |
||
135 | } |
||
136 | if (prevIndent == -1) { |
||
137 | if (indent == nextIndent && line[indent] == "#" && next[indent] == "#") { |
||
138 | session.foldWidgets[row - 1] = ""; |
||
139 | session.foldWidgets[row + 1] = ""; |
||
140 | return "start"; |
||
141 | } |
||
142 | } else if (prevIndent == indent && line[indent] == "#" && prev[indent] == "#") { |
||
143 | if (session.getLine(row - 2).search(/\S/) == -1) { |
||
144 | session.foldWidgets[row - 1] = "start"; |
||
145 | session.foldWidgets[row + 1] = ""; |
||
146 | return ""; |
||
147 | } |
||
148 | } |
||
149 | |||
150 | if (prevIndent!= -1 && prevIndent < indent) |
||
151 | session.foldWidgets[row - 1] = "start"; |
||
152 | else |
||
153 | session.foldWidgets[row - 1] = ""; |
||
154 | |||
155 | if (indent < nextIndent) |
||
156 | return "start"; |
||
157 | else |
||
158 | return ""; |
||
159 | }; |
||
160 | |||
161 | }).call(FoldMode.prototype); |
||
162 | |||
163 | }); |
||
164 | |||
165 | define("ace/mode/assembly_x86",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/assembly_x86_highlight_rules","ace/mode/folding/coffee"], function(require, exports, module) { |
||
166 | "use strict"; |
||
167 | |||
168 | var oop = require("../lib/oop"); |
||
169 | var TextMode = require("./text").Mode; |
||
170 | var AssemblyX86HighlightRules = require("./assembly_x86_highlight_rules").AssemblyX86HighlightRules; |
||
171 | var FoldMode = require("./folding/coffee").FoldMode; |
||
172 | |||
173 | var Mode = function() { |
||
174 | this.HighlightRules = AssemblyX86HighlightRules; |
||
175 | this.foldingRules = new FoldMode(); |
||
176 | this.$behaviour = this.$defaultBehaviour; |
||
177 | }; |
||
178 | oop.inherits(Mode, TextMode); |
||
179 | |||
180 | (function() { |
||
181 | this.lineCommentStart = ";"; |
||
182 | this.$id = "ace/mode/assembly_x86"; |
||
183 | }).call(Mode.prototype); |
||
184 | |||
185 | exports.Mode = Mode; |
||
186 | }); |