propstokenmarker.java
来自「优秀的打印控件全源代码,类似水晶表的设计器!」· Java 代码 · 共 87 行
JAVA
87 行
/* * PropsTokenMarker.java - Java props/DOS INI token marker * Copyright (C) 1998, 1999 Slava Pestov * * You may use and modify this package for any purpose. Redistribution is * permitted, in both source and binary form, provided that this notice * remains intact in all source distributions of this package. */package org.syntax.jedit.tokenmarker;import javax.swing.text.Segment;/** * Java properties/DOS INI token marker. * * @author Slava Pestov * @version $Id: PropsTokenMarker.java,v 1.2 2003/06/17 14:18:04 gt78 Exp $ */public class PropsTokenMarker extends TokenMarker{ public static final byte VALUE = Token.INTERNAL_FIRST; public byte markTokensImpl(byte token, Segment line, int lineIndex) { char[] array = line.array; int offset = line.offset; int lastOffset = offset; int length = line.count + offset;loop: for(int i = offset; i < length; i++) { int i1 = (i+1); switch(token) { case Token.NULL: switch(array[i]) { case '#': case ';': if(i == offset) { addToken(line.count,Token.COMMENT1); lastOffset = length; break loop; } break; case '[': if(i == offset) { addToken(i - lastOffset,token); token = Token.KEYWORD2; lastOffset = i; } break; case '=': addToken(i - lastOffset,Token.KEYWORD1); token = VALUE; lastOffset = i; break; } break; case Token.KEYWORD2: if(array[i] == ']') { addToken(i1 - lastOffset,token); token = Token.NULL; lastOffset = i1; } break; case VALUE: break; default: throw new InternalError("Invalid state: " + token); } } if(lastOffset != length) addToken(length - lastOffset,Token.NULL); return Token.NULL; } public boolean supportsMultilineTokens() { return false; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?