Comments (13)
this would be handy indeed!
from vim-javascript.
Anyone given this one a try? I looked at it a bit but it didn't look like a simple change and I haven't had time to do any more. I'd love to see this fixed though!
from vim-javascript.
I attempted this dirty deed here:
It works for me, indents multiline var statements separated with commas, and after finishing the last assignment it unindents a level.
This commit will not work if you don't use semicolons when writing javascript.
from vim-javascript.
This looks pretty promising! Could you make pull requests for your changes?
If anyone else wouldn't mind trying this out a bit and reporting back, that'd be great, too.
from vim-javascript.
looks like it needs a little (lot) more work - it doesn't work if you just have a var list without assignment like var a,b,c, and it gets confused if you do var a = function() {...}, b = ...;
from vim-javascript.
Ok no problem. If you make a pull request anyway it might be easier to pull it in when it's eventually completed.
Thanks,
Darrick
from vim-javascript.
I made this changes some time ago for standard indenter and now merged them with this project.
It has some limitations:
- you need to use semicolons (it's quite common requirement)
- you need not to use multi-line variables (like objects, arrays or functions) in this variables' declaration (it's not common, but more readable)
Maybe, it contains some bugs, but I didn't meet them yet.
from vim-javascript.
👍
from vim-javascript.
Unfortunately this pull requests still results in broken indentation. Try indenting (gg=G
in normal mode) the following examples:
var config = require('yaml-config'),
settings;
function x() {
};
and
var config = require('yaml-config'),
settings = 'whatever';
function x() {
};
Both cases result in horribly indented code.
from vim-javascript.
I committed 4dee33f which fixes some of the multiple var issues as well as adds comma-first style. @ThiefMaster code sample still doesn't indent properly though.
Shouldn't be too difficult to add though.
from vim-javascript.
I'll be adding test cases soon and I'll add this in as a regression test
from vim-javascript.
A quick test showed me an indentation like this::
var foo = 0,
bar = 123,
foobar = 456;
I think this is horrible style and an option to prevent the double indentation would be nice.
from vim-javascript.
Happens when you have 4 space indentation. I'll change it back to single (instead of double)
There are still some issues with it, mainly if you try below functions and some nits with comma-first.
from vim-javascript.
Related Issues (20)
- Function declaration's closing bracket highlighted as error HOT 1
- Broken javascript indentation inside <script> tags in html HOT 1
- redrawtime exceeded syntax highlighting disabled
- Code incorrectly highlighted in nested braces
- Possible issues with jsFuncBlock detection for arrow functions not wrapped in parens/curly-braces HOT 7
- Class method with Implicit Return and String Literal Kills Formatting
- [Flow] Nested Generic Types break syntax highlighting HOT 1
- JSDoc @example highlighting only works if the example is right next to the comment `*`
- Is it possible to have concealing on typescript? HOT 1
- Highlight breaking when there is a -- inside template literals HOT 1
- Priority issues with jsGlobals
- Support class static initialization blocks HOT 1
- Destruct nested array HOT 4
- Arrow function name doesn't have same highlight as regular function name HOT 1
- Number in snake case are not highlighted
- Incomplete support for jsdoc3 namepaths on @typedef
- Detect embedded typescript as javascript in vue component HOT 1
- customize color scheme doesn't work HOT 1
- Class with static initialization block highlighting issue
- indentation issue
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vim-javascript.