Package org.eclipse.xtext.xdoc.generator.util.lexer

Examples of org.eclipse.xtext.xdoc.generator.util.lexer.Common


    String code = obj.getContents();
    Set<String> keywords = newHashSet();
    if (lang != null && !lang.eIsProxy()) {
      keywords.addAll(lang.getKeywords());
    }
    Common lexer = new Common();
    lexer.setCharStream(new ANTLRStringStream(code));
    CommonToken t = (CommonToken) lexer.nextToken();
    while (t.getType() != Token.EOF) {
      switch (t.getType()) {
      case Common.SL_COMMENT:
      case Common.ML_COMMENT:
      case Common.COMMENT_RICH_TEXT_INBETWEEN:
      case Common.COMMENT_RICH_TEXT_END:
        acceptor.addPosition(offset+t.getStartIndex(), t.getText().length(), SemanticHighlightingConfiguration.CODE_COMMENT);
        break;
      case Common.ID:
        if (keywords.contains(t.getText()))
          acceptor.addPosition(offset+t.getStartIndex(), t.getText().length(), SemanticHighlightingConfiguration.CODE_KEYWORD);
        break;
      case Common.STRING:
      case Common.RICH_TEXT:
      case Common.RICH_TEXT_END:
      case Common.RICH_TEXT_START:
      case Common.RICH_TEXT_INBETWEEN:
        acceptor.addPosition(offset+t.getStartIndex(), t.getText().length(), SemanticHighlightingConfiguration.STRING_ID);
        break;
      }
      t = (CommonToken) lexer.nextToken();
    }
  }
View Full Code Here


    }
    return _xblockexpression;
  }
 
  public String getHighlightedHtmlCode(final String code, final LangDef language) {
    final Common lexer = new Common();
    String _unescapeXdocChars = this.unescapeXdocChars(code);
    ANTLRStringStream _aNTLRStringStream = new ANTLRStringStream(_unescapeXdocChars);
    lexer.setCharStream(_aNTLRStringStream);
    Set<String> _xifexpression = null;
    boolean _notEquals = (!Objects.equal(language, null));
    if (_notEquals) {
      EList<String> _keywords = language.getKeywords();
      final Function1<String, String> _function = new Function1<String, String>() {
        public String apply(final String it) {
          return Utils.this.unescapeXdocChars(it);
        }
      };
      List<String> _map = ListExtensions.<String, String>map(_keywords, _function);
      _xifexpression = IterableExtensions.<String>toSet(_map);
    } else {
      _xifexpression = CollectionLiterals.<String>emptySet();
    }
    final Set<String> keywords = _xifexpression;
    Token token = lexer.nextToken();
    final StringBuilder result = new StringBuilder();
    while ((token.getType() != Token.EOF)) {
      {
        int _type = token.getType();
        final int t = _type;
        boolean _matched = false;
        if (!_matched) {
          if (Objects.equal(t, Common.ID)) {
            _matched=true;
            String _text = token.getText();
            boolean _contains = keywords.contains(_text);
            if (_contains) {
              StringBuilder _append = result.append("<span class=\"keyword\">");
              String _text_1 = token.getText();
              String _whitespace2Entities = this.whitespace2Entities(_text_1);
              StringBuilder _append_1 = _append.append(_whitespace2Entities);
              _append_1.append("</span>");
            } else {
              String _text_2 = token.getText();
              result.append(_text_2);
            }
          }
        }
        if (!_matched) {
          if (Objects.equal(t, Common.WS)) {
            _matched=true;
            String _text_3 = token.getText();
            String _whitespace2Entities_1 = this.whitespace2Entities(_text_3);
            result.append(_whitespace2Entities_1);
          }
        }
        if (!_matched) {
          if ((((((t == Common.STRING) || (t == Common.RICH_TEXT)) || (t == Common.RICH_TEXT_END)) || (t == Common.RICH_TEXT_START)) || (t == Common.RICH_TEXT_INBETWEEN))) {
            _matched=true;
            StringBuilder _append_2 = result.append("<span class=\"string\">");
            String _text_4 = token.getText();
            String _whitespace2Entities_2 = this.whitespace2Entities(_text_4);
            StringBuilder _append_3 = _append_2.append(_whitespace2Entities_2);
            _append_3.append("</span>");
          }
        }
        if (!_matched) {
          if (((((t == Common.COMMENT_RICH_TEXT_END) || (t == Common.COMMENT_RICH_TEXT_INBETWEEN)) || (t == Common.ML_COMMENT)) || (t == Common.SL_COMMENT))) {
            _matched=true;
            StringBuilder _append_4 = result.append("<span class=\"comment\">");
            String _text_5 = token.getText();
            String _whitespace2Entities_3 = this.whitespace2Entities(_text_5);
            StringBuilder _append_5 = _append_4.append(_whitespace2Entities_3);
            _append_5.append("</span>");
          }
        }
        if (!_matched) {
          String _text_6 = token.getText();
          String _whitespace2Entities_4 = this.whitespace2Entities(_text_6);
          result.append(_whitespace2Entities_4);
        }
        Token _nextToken = lexer.nextToken();
        token = _nextToken;
      }
    }
    return result.toString();
  }
View Full Code Here

          Set<String> keywords = newHashSet();
          if (lang != null && !lang.eIsProxy()) {
            keywords.addAll(lang.getKeywords());
          }
          StringBuffer strBuffer = new StringBuffer();
          Common lexer = new Common();
          lexer.setCharStream(new ANTLRStringStream(code));
          CommonToken t = (CommonToken) lexer.nextToken();
          while (t.getType() != Token.EOF) {
            String text = t.getText();
            text = escapeChars(text);
            switch (t.getType()) {
            case Common.SL_COMMENT:
              strBuffer.append(lineBreakAware(text, "cm"));
              break;
            case Common.ML_COMMENT:
              strBuffer.append(lineBreakAware(text, "cm"));
              break;
            case Common.COMMENT_RICH_TEXT_INBETWEEN:
              strBuffer.append(lineBreakAware(text, "st"));
              break;
            case Common.COMMENT_RICH_TEXT_END:
              strBuffer.append(lineBreakAware(text, "st"));
              break;
            case Common.ID:
              if (keywords.contains(text)) {
                strBuffer.append("\\PY{kw}{" + text + "}");
                break;
              } else {
                strBuffer.append(text);
                break;
              }
            case Common.STRING:
              strBuffer.append("\\PY{st}{" + text + "}");
              break;
            case Common.RICH_TEXT:
              strBuffer.append(lineBreakAware(text, "st"));
              break;
            case Common.RICH_TEXT_END:
              strBuffer.append(lineBreakAware(text, "st"));
              break;
            case Common.RICH_TEXT_START:
              strBuffer.append(lineBreakAware(text, "st"));
              break;
            case Common.RICH_TEXT_INBETWEEN:
              strBuffer.append(lineBreakAware(text, "st"));
              break;
            default:
              strBuffer.append(text);
              break;
            }
            t = (CommonToken) lexer.nextToken();
          }
          ((Code) cb.getContents().get(i)).setContents(strBuffer.toString());
        }
      }
    }
View Full Code Here

TOP

Related Classes of org.eclipse.xtext.xdoc.generator.util.lexer.Common

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.