Giter Club home page Giter Club logo

esformatter-align's Introduction

esformatter-align

esformatter plugin for alignment.

Usage

install it:

npm install esformatter-align

and add to your esformatter config file:

{
  "plugins": [
    "esformatter-align"
  ]
}

Alignments

VariableDeclarations

input:

var longer = require('hello');
var small = require('hello');
var muchlonger = require('hello');

output:

var longer     = require('hello');
var small      = require('hello');
var muchlonger = require('hello');

ObjectExpressions

input:

var x = {
  a: 5,
  bla: ''
};

output:

var x = {
  a:   5,
  bla: ''
};

AssignmentExpressions

input:

foo = 'bar';
fooooooo = 'baz';

output:

foo      = 'bar';
fooooooo = 'baz';

TernaryExpression

input:

foo ? x : 'bar';
fooooooo ? y : 'baz';

output:

foo      ? x : 'bar';
fooooooo ? y : 'baz';

OrExpression

input:

foo || x || 'bar';
fooooooo || yy || 'baz';

output:

foo      || x  || 'bar';
fooooooo || yy || 'baz';

SpreadAlignment, ShorthandAlignment

The object spread operator and shorthand can either be aligned with the keys (default) or with the values.

input:

var y = { blu: 1 };
var z = true;
var x = {
z,
    ...y,
 bla: 5
};

output (default: keys):

var y = {
  blu: 1
};
var x = {
  z,
  ...y,
  bla: 5
};

output (option: value):

var y = {
  blu: 1
};
var x = {
       z,
       ...y,
  bla: 5
};

Config

Optionally disable alignment of specific expressions and set some other options

{
  "esformatter": {
    // ...
  },
  "indent": {
    // ...
  },
  "align": {
    "ObjectExpression":     1,
    "VariableDeclaration":  1,
    "AssignmentExpression": 1,
    "TernaryExpression":    0,
    "OrExpression":         0,
    "SpreadAlignment":      "key", // optional: "value"
    "ShorthandAlignment":   "key"  // optional: "value"
  },
  // ...
}

License

Released under the MIT License.

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.