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


Java AttributedStringBuilder.style方法代码示例

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


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

示例1: parse

import org.jline.utils.AttributedStringBuilder; //导入方法依赖的package包/类
public static String parse(String input, Terminal terminal) {
    if (input == null || !input.contains("{{") || !input.contains("}}")) {
        return input;
    }

    final AttributedStringBuilder asb = new AttributedStringBuilder(input.length());

    AnsiStyleHandler handler = new AnsiStyleHandler() {
        @Override
        public void character(char c) {
            asb.append(c);
        }

        @Override
        public void attribute(String... attrs) {
            asb.style(makeStyle(asb.style(), attrs));
        }
    };
    handler.handle(input);

    return asb.toAnsi(terminal);
}
 
开发者ID:aspectran,项目名称:aspectran,代码行数:23,代码来源:JLineAnsiStyler.java

示例2: line

import org.jline.utils.AttributedStringBuilder; //导入方法依赖的package包/类
private void line(int width, List<Column> columns, int[] widths, int row, AttributedStringBuilder asb) {
    int currentWidth = 0;
    int startLen = asb.length();
    if (isActive() && row == selectedRow) {
        asb.style(AttributedStyle.INVERSE);
    }
    for (int i = 0; i < widths.length; i++) {
        Column column = columns.get(i);
        column.cell(asb, row, widths[i]);
        currentWidth += widths[i];
        if (asb.length() - startLen > currentWidth) {
            if (widths[i] > 0) {
                asb.setLength(startLen + currentWidth - 1);
                asb.append('…');
            } else {
                asb.setLength(startLen + currentWidth);
            }
        } else if (asb.length() - startLen < currentWidth) {
            int cellStart = startLen + currentWidth - widths[i];
            int extraSpace = currentWidth - (asb.length() - startLen);
            AttributedString content = asb.subSequence(cellStart, asb.length());
            asb.setLength(cellStart);
            View.repeat(asb, extraSpace, ' ');
            asb.append(content);
        }
        if (i < widths.length - 1) {
            asb.append('│');
            currentWidth++;
        }
        if (currentWidth > width) {
            asb.setLength(startLen + width);
            break;
        }
    }
    asb.style(AttributedStyle.INVERSE_OFF);
}
 
开发者ID:gilles-duboscq,项目名称:jvb,代码行数:37,代码来源:Table.java

示例3: appendLines

import org.jline.utils.AttributedStringBuilder; //导入方法依赖的package包/类
@Override
public void appendLines(List<AttributedString> lines, int width, int height) {
    int startLines = lines.size();
    if (state == State.Adding) {
        AttributedStringBuilder addrPromptLine = new AttributedStringBuilder();
        addrPromptLine.append('│');
        addrPromptLine.append(addressField.getAddressPrompt());
        AttributedStyle style = AttributedStyle.DEFAULT;
        if (!addressField.isCurrentInputValid()) {
            style = style.foreground(AttributedStyle.RED);
        }
        addrPromptLine.append(addressField.getCurrentInput(), style);
        View.padToLength(addrPromptLine, width - 1);
        addrPromptLine.append('│');
        lines.add(addrPromptLine.toAttributedString());

        AttributedStringBuilder modeLine = new AttributedStringBuilder();
        modeLine.append('│');
        if (addingExec) {
            modeLine.style(AttributedStyle.INVERSE);
        }
        modeLine.append('E');
        modeLine.append("X", AttributedStyle.DEFAULT.underline());
        modeLine.append("EC");
        modeLine.style(AttributedStyle.INVERSE_OFF);
        modeLine.append(' ');
        if (addingRead) {
            modeLine.style(AttributedStyle.INVERSE);
        }
        modeLine.append("R", AttributedStyle.DEFAULT.underline());
        modeLine.append("EAD");
        modeLine.style(AttributedStyle.INVERSE_OFF);
        modeLine.append(' ');
        if (addingWrite) {
            modeLine.style(AttributedStyle.INVERSE);
        }
        modeLine.append("W", AttributedStyle.DEFAULT.underline());
        modeLine.append("RITE");
        modeLine.style(AttributedStyle.INVERSE_OFF);
        View.padToLength(modeLine, width - 1);
        modeLine.append('│');
        lines.add(modeLine.toAttributedString());

        AttributedStringBuilder addrPromptBottomLine = new AttributedStringBuilder();
        addrPromptBottomLine.append('└');
        View.horizontalLine(addrPromptBottomLine, width - 2);
        addrPromptBottomLine.append('┘');
        lines.add(addrPromptBottomLine.toAttributedString());

        AttributedStringBuilder actionsLine = new AttributedStringBuilder();
        actionsLine.append(" └Abort(");
        actionsLine.append("q", AttributedStyle.DEFAULT.underline());
        actionsLine.append(")┘ └Accept(");
        actionsLine.append("⏎", addressField.isCurrentInputValid() ? AttributedStyle.DEFAULT.underline() : AttributedStyle.DEFAULT);
        actionsLine.append(")┘");
        lines.add(actionsLine.toAttributedString());
    } else {
        AttributedStringBuilder addLine = new AttributedStringBuilder();
        addLine.append(" └");
        addLine.append("A", AttributedStyle.DEFAULT.underline());
        addLine.append("dd┘");
        lines.add(addLine.toAttributedString());
    }
    int remainingHeight = height - (lines.size() - startLines);
    verticalBoxes.appendLines(lines, width, remainingHeight);
}
 
开发者ID:gilles-duboscq,项目名称:jvb,代码行数:67,代码来源:Breakpoints.java


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