Package org.netbeans.api.lexer

Examples of org.netbeans.api.lexer.TokenSequence


        AbstractDocument doc = (AbstractDocument) context.getDocument();
        doc.readLock();
        try {
            TokenHierarchy th = TokenHierarchy.get(doc);
            TokenSequence ts = th.tokenSequence();
            Token token = findTokenAtContext(ts, context.getSearchOffset());
            if (token == null) {
                return null;
            }
            int ordinal = token.id().ordinal();
            for (BracePair bp : bracePairs) {
                if (ordinal == bp.open) {
                    originToken = bp.open;
                    matchToken = bp.close;
                    searchForward = true;
                    ret = new int[]{ts.offset(), ts.offset() + token.length()};
                } else if (ordinal == bp.close) {
                    originToken = bp.close;
                    matchToken = bp.open;
                    searchForward = false;
                    ret = new int[]{ts.offset(), ts.offset() + token.length()};
                }
            }
        } finally {
            ((AbstractDocument) context.getDocument()).readUnlock();
        }
View Full Code Here


        AbstractDocument doc = (AbstractDocument) context.getDocument();
        doc.readLock();
        try {
            TokenHierarchy th = TokenHierarchy.get(doc);
            TokenSequence ts = th.tokenSequence();
            //System.out.println("--------------------");
            ret = findPaar(ts, context.getSearchOffset(), originToken, matchToken, searchForward);
        } finally {
            ((AbstractDocument) context.getDocument()).readUnlock();
        }
View Full Code Here

    }

    private void reformat(Context context, int indent) {
        Document doc = context.document();
        TokenHierarchy th = TokenHierarchy.get(doc);
        TokenSequence ts = th.tokenSequence();
        ts.moveStart();
        int newIndent = 0;
        boolean nextIndent = false;
        TreeMap<Integer, Integer> newIdentMap = new TreeMap<Integer, Integer>(new ReverseOrderInteger());
        do {
            Token token = ts.token();
            if (token != null && token.id().ordinal() != PL_SQLLexer.WHITESPACE) {
                if (nextIndent) {
                    newIndent += indent;
                    nextIndent = false;
                }
                if (FORMAT_TOKEN_LIST.contains(token.id().ordinal())) {
                    nextIndent = true;
                }
                if (LA(token, ts)) {
                    newIndent -= indent;
                }
                if (newIndent < 0) {
                    newIndent = 0;
                }
                try {
                    newIdentMap.put(context.lineStartOffset(ts.offset()), newIndent);
                } catch (BadLocationException ex) {
                    Exceptions.printStackTrace(ex);
                }
            }
        } while (ts.moveNext());
        for (Integer line : newIdentMap.keySet()) {
            //System.out.println(line + " : " + newIdentMap.get(line));
            setIndent(context, line, newIdentMap.get(line));
        }
        //System.out.println("--------------------");
View Full Code Here

    }

    public void reindent(Context context) {
        Document doc = context.document();
        TokenHierarchy th = TokenHierarchy.get(doc);
        TokenSequence ts = th.tokenSequence();
        int startOffset = context.startOffset();
        /*int endOffset = context.endOffset();
        System.out.println("startOffset=" + startOffset);
        System.out.println("endOffset=" + endOffset);*/
        try {
View Full Code Here

    /**
     * Finds the root element of the xml document.
     */
    public static String getDocRoot(Document document) {
        TokenHierarchy th = TokenHierarchy.get(document);
        TokenSequence ts = th.tokenSequence();
        while (ts.moveNext()) {
            Token nextToken = ts.token();
            if (nextToken.id() == XMLTokenId.TAG) {
                String tagName = nextToken.text().toString();
                if (tagName.startsWith("<")) {
                    return tagName.substring(1, tagName.length());
                }
View Full Code Here

        String foldDesc = EMPTY_STRING;
        String foldTypeDesc = EMPTY_STRING;
        boolean readName = false;
        StringBuilder foldText = new StringBuilder();

        TokenSequence tokens = TokenHierarchy.get(doc).tokenSequence();
        tokens.moveStart();

        while(tokens.moveNext()) {
            String tk = tokens.token().id().name();
            String tkn = tokens.token().toString();
            foldText.append(tkn);
           
            if(tk.equals(LIST_START)) {
                stack.push(tk);
                if(stack.size()==1)
                    start = tokens.offset();
            }
            else if(tk.equals(LIST_END)) {
                if(!stack.isEmpty())
                    stack.pop();
               
                if(stack.empty()) {
                    end = tokens.offset() + 1;
                    foldList.add(getFoldInfo(start,
                                             end,
                                             getFoldType(foldTypeDesc),
                                             getFoldString(foldText, foldDesc, MAX_FOLD_DESC_LEN)));
View Full Code Here

TOP

Related Classes of org.netbeans.api.lexer.TokenSequence

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.