All pastes #557261 Raw Edit

Anonymous

public text v1 · immutable
·published 2007-06-10 22:26 UTC
rendered paste body
{	scopeName = 'source.z80asm';
	fileTypes = ( 'z80', 'asm' );
	patterns = (
		{	name = 'string.quoted.double.z80asm';
			begin = '"';
			end = '"';
			patterns = (
				{	name = 'constant.character.escape.z80asm';
					match = '\\.';
				},
			);
		},
		{	name = 'comment.line.z80asm';
			match = '(;).*$\n?';
		},
		{	name = 'constant.numeric.decimal.z80asm';
			match = '\b[0-9]+(d{0,1})\b';
		},
		{	name = 'constant.numeric.hexadecimal.z80asm';
			match = '(^|(?<=\s))(\$[0-9A-F]+|[0-9A-Fa-f]+h)\b';
		},
		{	name = 'constant.numeric.binary.z80asm';
			match = '(^|(?<=\s))(%[0-1]+|[0-9]+b)\b';
		},
		{	name = 'constant.numeric.octal.z80asm';
			match = '(^|(?<=\s))(@[0-9]+|[0-9]+o)\b';
		},
		{	name = 'keyword.control.import.z80asm';
			match = '^\s*#\s*include\b\s+';
			beginCaptures = { 1 = { name = 'keyword.control.import.define.c'; }; };
		},
		{	name = 'keyword.control.import.define.z80asm';
			match = '^\s*#\s*define\s+(.+?(\(.+?\)){0,1})(\s+)(.+)$';
			beginCaptures = {
				1 = { name = 'constant.define.z80asm'; };
				4 = { name = 'meta.preprocessor.z80asm'; };
			};
		},
		{	name = 'keyword.z80asm';
			match = '((^|(?<=\s))\.(\w+)\b)|\b(equ|EQU|db|DB|end|END)\b|=';
		},
		{	name = 'entity.name.function.label.z80asm';
			match = '^(\s*)(\w+):';
		},
		{	name = 'support.function.z80asm';
			match = '\b(b(_call|call)|ld|ret)\b';
		},
		{	name = 'support.constant.z80asm';
			match = '\b(_(\w+))\b';
		},
		{	name = 'support.variable.z80asm';
			match = '\b(a|b|c|f|hl|bc|de|ix)\b';
		},
	);
}