当前位置: 首页>>代码示例>>Java>>正文


Java BasedSequence.endsWith方法代码示例

本文整理汇总了Java中com.vladsch.flexmark.util.sequence.BasedSequence.endsWith方法的典型用法代码示例。如果您正苦于以下问题:Java BasedSequence.endsWith方法的具体用法?Java BasedSequence.endsWith怎么用?Java BasedSequence.endsWith使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.vladsch.flexmark.util.sequence.BasedSequence的用法示例。


在下文中一共展示了BasedSequence.endsWith方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: process

import com.vladsch.flexmark.util.sequence.BasedSequence; //导入方法依赖的package包/类
@Override
public void process(NodeTracker state, Node node) {
    if (node instanceof Link) {
        Node previous = node.getPrevious();

        if (previous instanceof Text) {
            final BasedSequence chars = previous.getChars();

            //Se o nó anterior termina com '#' e é seguido pelo Link
            if (chars.endsWith("#") && chars.isContinuedBy(node.getChars())) {
                //Remove o caractere '#' do nó anterior.
                previous.setChars(chars.subSequence(0, chars.length() - 1));
                Twitter videoLink = new Twitter((Link) node);
                videoLink.takeChildren(node);
                node.unlink();
                previous.insertAfter(videoLink);
                state.nodeRemoved(node);
                state.nodeAddedWithChildren(videoLink);
            }
        }
    }
}
 
开发者ID:tiagohm,项目名称:MarkdownView,代码行数:23,代码来源:TwitterNodePostProcessor.java

示例2: process

import com.vladsch.flexmark.util.sequence.BasedSequence; //导入方法依赖的package包/类
@Override
public void process(NodeTracker state, Node node) {
    if (node instanceof Link) {
        Node previous = node.getPrevious();

        if (previous instanceof Text) {
            final BasedSequence chars = previous.getChars();

            //Se o nó anterior termina com 'B' e é seguido pelo Link
            if (chars.endsWith("B") && chars.isContinuedBy(node.getChars())) {
                //Remove o caractere 'B' do nó anterior.
                previous.setChars(chars.subSequence(0, chars.length() - 1));
                Button btn = new Button((Link) node);
                btn.takeChildren(node);
                node.unlink();
                previous.insertAfter(btn);
                state.nodeRemoved(node);
                state.nodeAddedWithChildren(btn);
            }
        }
    }
}
 
开发者ID:tiagohm,项目名称:MarkdownView,代码行数:23,代码来源:ButtonNodePostProcessor.java

示例3: process

import com.vladsch.flexmark.util.sequence.BasedSequence; //导入方法依赖的package包/类
@Override
public void process(NodeTracker state, Node node) {
    if (node instanceof Link) {
        Node previous = node.getPrevious();

        if (previous instanceof Text) {
            final BasedSequence chars = previous.getChars();

            //Se o nó anterior termina com '@' e é seguido pelo Link
            if (chars.endsWith("@") && chars.isContinuedBy(node.getChars())) {
                //Remove o caractere '@' do nó anterior.
                previous.setChars(chars.subSequence(0, chars.length() - 1));
                VideoLink videoLink = new VideoLink((Link) node);
                videoLink.takeChildren(node);
                node.unlink();
                previous.insertAfter(videoLink);
                state.nodeRemoved(node);
                state.nodeAddedWithChildren(videoLink);
            }
        }
    }
}
 
开发者ID:tiagohm,项目名称:MarkdownView,代码行数:23,代码来源:VideoLinkNodePostProcessor.java

示例4: isLineCommented

import com.vladsch.flexmark.util.sequence.BasedSequence; //导入方法依赖的package包/类
public boolean isLineCommented(final int startOfLineOffset, final int endOfLineOffset) {
    Commenter commenter = getCommenterRange(startOfLineOffset, endOfLineOffset);
    if (commenter != null) {
        String lineCommentPrefix = commenter.getLineCommentPrefix();
        String blockCommentPrefix = commenter.getCommentedBlockCommentPrefix();
        if (blockCommentPrefix == null) blockCommentPrefix = commenter.getBlockCommentPrefix();
        String blockCommentSuffix = commenter.getCommentedBlockCommentSuffix();
        if (blockCommentSuffix == null) blockCommentSuffix = commenter.getBlockCommentSuffix();
        BasedSequence chars = myChars.subSequence(startOfLineOffset, endOfLineOffset);
        BasedSequence trimmed = chars.trim();

        return lineCommentPrefix != null && trimmed.startsWith(lineCommentPrefix)
                || blockCommentPrefix != null && blockCommentSuffix != null && trimmed.startsWith(blockCommentPrefix) && trimmed.endsWith(blockCommentSuffix);
    } else {
        return false;
    }
}
 
开发者ID:vsch,项目名称:MissingInActions,代码行数:18,代码来源:LineCommentProcessor.java

示例5: createPopupActionGroup

import com.vladsch.flexmark.util.sequence.BasedSequence; //导入方法依赖的package包/类
@NotNull
protected DefaultActionGroup createPopupActionGroup(JComponent button, @Nullable Editor editor) {
    final DefaultActionGroup group = new DefaultActionGroup();

    if (editor != null) {
        final LineSelectionManager manager = LineSelectionManager.getInstance(editor);
        final RangeMarker[] markers = manager.getSavedSelections();
        BasedSequence chars = BasedSequenceImpl.of(editor.getDocument().getCharsSequence());
        final Range exclusionRange = excludeOverlap(editor);

        for (int i = markers.length; i-- > 0; ) {
            RangeMarker marker = markers[i];

            BasedSequence text = chars.subSequence(marker.getStartOffset(), marker.getEndOffset());
            BasedSequence label = text;

            if (text.length() > 40) {
                label = text.subSequence(0, 20).append(PrefixedSubSequence.of("…", text.subSequence(20, 20))).append(text.endSequence(20, 0));
            }

            label = label.replace("\n", "⏎");

            final int index = markers.length - i - 1;
            Document document = marker.getDocument();
            final int startLine = document.getLineNumber(marker.getStartOffset());
            final int endLine = document.getLineNumber(marker.getEndOffset());
            final int startColumn = marker.getStartOffset() - document.getLineStartOffset(startLine);
            final Icon icon;
            boolean disabled = false;

            if (exclusionRange != null) {
                Range range = new Range(marker.getStartOffset(), marker.getEndOffset());
                if (exclusionRange.doesContain(range) || range.doesContain(exclusionRange)) {
                    disabled = true;
                }
            }

            if (disabled) {
                icon = PluginIcons.Clipboard_disabled_caret;
            } else if (text.endsWith("\n") && startColumn == 0) {
                icon = PluginIcons.Clipboard_line_caret;
            } else if (startLine != endLine) {
                icon = PluginIcons.Clipboard_char_lines_caret;
            } else {
                icon = PluginIcons.Clipboard_char_caret;
            }

            final String actionText = String.format("line %d \"%s\"", startLine, text);
            final boolean isDisabled = disabled;

            DumbAwareAction action = new DumbAwareAction("\"" + label.toString() + "\"", actionText, icon) {
                @Override
                public void actionPerformed(final AnActionEvent e) {
                    if (!isDisabled) {
                        RangeMarker rangeMarker = manager.getRangeMarker();
                        manager.recallLastSelection(index, removeRangeMarker(e, editor, rangeMarker), false, true);
                        SelectionListActionBase.this.actionPerformed(e, editor, rangeMarker);
                    }
                }
            };

            group.add(action);
        }
    }

    return group;
}
 
开发者ID:vsch,项目名称:MissingInActions,代码行数:68,代码来源:SelectionListActionBase.java


注:本文中的com.vladsch.flexmark.util.sequence.BasedSequence.endsWith方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。