Skip to content

Provides a set of helper functions for setting or getting the content and selection of a Visual Studio Code instance.

License

Notifications You must be signed in to change notification settings

mlewand-org/vscode-test-content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vscode-test-content Build Status Build status

Provides a set of helper functions for setting or getting the content and selection of a Visual Studio Code instance.

Usage

Getting editor content

const vscodeTestContent = require( 'vscode-test-content' );

// Get the content without selection:
vscodeTestContent.get( editor );
// Returns: 'What a great selection!'

// Get the content including selection:
vscodeTestContent.getWithSelection( editor );
// 'What a [great} selection!'

Setting editor content

const vscodeTestContent = require( 'vscode-test-content' );

// Setting the content without selection:
vscodeTestContent.set( 'foobar' )
    .then( textEditor => {
        assert.equal( textEditor.document.lineAt( 0 ).text, 'foobar' );
    } );

// Setting the content with a collapsed selection ('^'):
vscodeTestContent.setWithSelection( 'Put a collapsed selection here ^' )
    .then( textEditor => {
        assert.equal( textEditor.document.lineAt( 0 ).text, 'Put a collapsed selection here ' );
        assert.equal( textEditor.selection.isEmpty, true );
        assert.equal( textEditor.selection.start.character, 31 );
    } );

// Setting the content with a ranged selection ('[', ']', '{', '}'):
vscodeTestContent.setWithSelection( 'Fancy [content}!' )
    .then( textEditor => {
        assert.equal( textEditor.document.lineAt( 0 ).text, 'Fancy content!' );
        assert.equal( textEditor.selection.isEmpty, false );
        assert.equal( textEditor.selection.start.character, 6 );
        assert.equal( textEditor.selection.end.character, 13 );
        assert.equal( textEditor.selection.active, textEditor.selection.end );
    } );

For more information, see vscode-test-set-content project.

Markers

  • Collapsed:
    • ^ - Simply marks where the selection caret should be.
  • Ranged:
    • [, ] - Marks where selection anchor opening or close should be. Anchor is a position where the selection was started.

    • {, } - Marks where selection active opening or close should be.

      Active part is the part where the selection ended, and it's the point from which the selection is continued from if you continue to enlarge the selection.

Marker Customization

It's possible to use custom marker characters. See vscode-test-set-content docs for more details.

Limitations

  • Nested and intersecting ranges are not handled, since those are not handled in VSCode itself as of version 1.9.1.

About

Provides a set of helper functions for setting or getting the content and selection of a Visual Studio Code instance.

Resources

License

Stars

Watchers

Forks

Packages

No packages published