Code Monkey home page Code Monkey logo

vext's Introduction

Vext

Vext Icon

CI Status Badge Release Status Badge

Simple VS Code Extension to toggle text features! With vext commands you can...


  • Toggle Quote Characters: Toggle outer quotes between ", ', and `

    Quotes Demo

    • Keybinding: Cmd+Opt+' (Mac), Ctrl+Alt+' (Other)
    • Settings:
      • vext.quoteChars: Quote characters to be used when toggling quotes. Defaults to [", ', `].

  • Toggle Comment Type: Toggle text between a block comment, a line comment, and uncommented text. It's language-aware!

    Comment Demo

    • Keybinding: Cmd+Opt+t (Mac), Ctrl+Alt+t (Other)
    • Settings:
      • vext.autoFormatOnToggleCommentType: When enabled, automatically format the selection when toggling comment type. Requires the Rewrap Extension to be installed. Defaults to false.

  • Toggle JSON to Javascript to YAML: Toggle JSON object/array to "pretty" Javascript then to YAML and back.

    JSON-to-JS-to-YAML Demo

    • Keybinding: Cmd+Opt+j (Mac), Ctrl+Alt+j (Other)
    • Settings:
      • vext.useDoubleQuotesForOutputStrings: When enabled, Javascript or YAML results will use double quotes (instead of single quotes) for string values and keys as required.
    • Notes:
      • YAML will NOT be output when:
        • it's a single-line selection and the resulting YAML would not be a single line
        • the first line (of a multi-line selection) is preceded by non-whitespace characters

  • Toggle Newlines To Literal Newline Characters: Toggle newlines to literal \n and back.

    Newlines Demo

    • Keybinding: Cmd+Opt+n (Mac), Ctrl+Alt+n (Other)
    • Settings: N/A

  • Toggle Variable Naming Format: Toggle a variable/identifier format between camel, snake, pascal, kebab, etc.

    Variable Format Demo

    • Keybinding: Cmd+Opt+v (Mac), Ctrl+Alt+v (Other)
    • Settings:
      • vext.variableNamingFormats: Variable naming formats to toggle between. Defaults to [camel, snake, snakeUpper, pascal, kebab], but kebabUpper is also available.

  • Toggle Text Casing: Toggle a word or selection between upper and lower case

    Casing Demo

    • Keybinding: Cmd+Opt+a (Mac), Ctrl+Alt+a (Other)
    • Settings:
      • vext.caseExtraWordChars: Additional characters that will be considered a part of \w when parsing words to toggle case. For example, if '-' is specified, then 'super-secret' would be considered a single word. Defaults to most special characters.

Keybindings

Vext works best when you can quickly execute/re-execute these commands, so using keyboard shortcuts is recommended. Default command keybindings are listed for each command, but note that they may conflict with your existing keybindings.

Development

See launch.json for configurations to run the extension or to run the test suite.

CI/CD

Using Github Actions, the CI build will run on all pull requests and pushes/merges to main. The release build will run on publish of a Github release, which will then publish the extension to the Visual Studio Marketplace.

This project uses Conventional Commits and standard-version to facilitate versioning and changelogs.

Future Work?

Please open an issue if you have a suggestion!

vext's People

Contributors

adamhamlin avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.