diff options
Diffstat (limited to 'src/StyleContext.cxx')
| -rw-r--r-- | src/StyleContext.cxx | 51 | 
1 files changed, 51 insertions, 0 deletions
| diff --git a/src/StyleContext.cxx b/src/StyleContext.cxx new file mode 100644 index 000000000..bdae28196 --- /dev/null +++ b/src/StyleContext.cxx @@ -0,0 +1,51 @@ +// Scintilla source code edit control +/** @file StyleContext.cxx + ** Lexer infrastructure. + **/ +// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org> +// This file is in the public domain. + +#include <stdlib.h> +#include <string.h> +#include <ctype.h> +#include <stdio.h> + +#include "Platform.h" + +#include "PropSet.h" +#include "Accessor.h" +#include "StyleContext.h" + +static void getRange(unsigned int start, +		unsigned int end, +		Accessor &styler, +		char *s, +		unsigned int len) { +	unsigned int i = 0; +	while ((i < end - start + 1) && (i < len-1)) { +		s[i] = styler[start + i]; +		i++; +	} +	s[i] = '\0'; +} + +void StyleContext::GetCurrent(char *s, int len) { +	getRange(styler.GetStartSegment(), currentPos - 1, styler, s, len); +} + +static void getRangeLowered(unsigned int start, +		unsigned int end, +		Accessor &styler, +		char *s, +		unsigned int len) { +	unsigned int i = 0; +	while ((i < end - start + 1) && (i < len-1)) { +		s[i] = static_cast<char>(tolower(styler[start + i])); +		i++; +	} +	s[i] = '\0'; +} + +void StyleContext::GetCurrentLowered(char *s, int len) { +	getRangeLowered(styler.GetStartSegment(), currentPos - 1, styler, s, len); +} | 
