Dave Jarvis' Repositories

git clone https://repo.autonoma.ca/repo/keenwrite.git
src/main/java/com/keenwrite/preview/HTMLPreviewPane.java
public void repaintScrollPane() {
- getScrollPane().repaint();
+ invokeLater( () -> getScrollPane().repaint() );
}
src/main/java/com/keenwrite/processors/markdown/CaretExtension.java
@Override
- public void setAttributes( @NotNull Node node,
+ public void setAttributes( @NotNull Node curr,
@NotNull AttributablePart part,
@NotNull MutableAttributes attributes ) {
- final var began = node.getStartOffset();
- final var ended = node.getEndOffset();
+ final var began = curr.getStartOffset();
+ final var ended = curr.getEndOffset();
+ final var prev = curr.getPrevious();
- if( mCaret.isBetweenText( began, ended ) ) {
+ // If the caret is within the bounds of the current node or the
+ // caret is within the bounds of the end of the previous node and
+ // the start of the current node, then mark the current node with
+ // a caret indicator.
+ if( mCaret.isBetweenText( began, ended ) ||
+ prev != null && mCaret.isBetweenText( prev.getEndOffset(), began ) ) {
attributes.addValue( AttributeImpl.of( "id", CARET_ID ) );
}
public void extend(
final Builder builder, @NotNull final String rendererType ) {
- builder.attributeProviderFactory( IdAttributeProvider.createFactory( mCaret ) );
+ builder.attributeProviderFactory(
+ IdAttributeProvider.createFactory( mCaret ) );
}

Insert caret id for 'empty' paragraphs

Author DaveJarvis <email>
Date 2020-10-14 20:06:04 GMT-0700
Commit 0914950541af8e0a132d0d9c1b9124c20a446133
Parent dfe6165
Delta 13 lines added, 6 lines removed, 7-line increase