Giter VIP home page Giter VIP logo

vscode-beautify's Introduction

VS Code Extension Toolroom

    

Tooling, libraries and joint projects for VS Code extension developers.

This is a metarepo to discuss the group and request extension adoption.

vscode-beautify's People

Contributors

admosity avatar bluedasher13 avatar hookyqr avatar igornovozhilov avatar keale2 avatar sensehack avatar stephen-ullom avatar tallyb avatar tanhakabir avatar wabisabit avatar wormeyman avatar zilioti avatar zm-cttae avatar zsohnvlocity avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

uscorchr

vscode-beautify's Issues

Language support

Problem statement

  • Given: I'm using the .jsbeautifyrc configuration below,
  • When: I format files supported in js-beautify 1.14.x with beautify.beautifyFile command
  • Then: The output is not formatted.

Acceptance criteria

  • Wire up document formatting contribution for extension.
  • Support formatting JSX, HTML, CSS, SCSS, and SASS files.

Additional context

  • Operating System (+Version): Windows 11 2H22
  • VS Code Version: 1.78.0
  • JS Beautify Version: 1.5.12

Tests failing for initial release

Description

  • Given: I'm using the .jsbeautifyrc configuration,
  • When: I format javascript file with beautify.beautifyFile command,
  • Then: The tests for beautifying files with .jsbeautifyrc fail.

Input code:

$ npm test

Output code (post-beautification):

  Beautify
    js file
      with: "end_with_newline":true
        1) beautifies the file
        √ beautifies a single line
        2) formats the file
      with: "end_with_newline":false
        √ beautifies the file
        √ beautifies a single line
        3) formats the file
    html file
      with: "end_with_newline":true
        4) beautifies the file
        √ beautifies a single line
        5) formats the file
      with: "end_with_newline":false
        √ beautifies the file
        √ beautifies a single line
        √ formats the file
      with: "wrap_attributes":"force"
        6) beautifies the file
      with: "wrap_attributes":"force-expand-multiline"
        7) beautifies the file
    css file
      with: "end_with_newline":true
        8) beautifies the file
        √ beautifies a single line (66ms)
        9) formats the file
      with: "end_with_newline":false
        √ beautifies the file
        √ beautifies a single line
        10) formats the file
      with: "newline_between_rules":true
        √ beautifies the file
    scss file
      with: "newline_between_rules":true
        √ beautifies the file (122ms)
      with: "newline_between_rules":false
        11) beautifies the file
  Issues
    253
      12) fixed
    265
      √ fixed
    267
      13) fixed
    273
      14) fixed
  13 passing (14s)
  14 failing
  1) Beautify
       js file
         with: "end_with_newline":true
           beautifies the file:
     Error: expected 'var a = 1;\r\nvar b = 2;' to equal 'var a = 1;\r\nvar b = 2;\r\n'
        at Assertion.assert (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:96:13)
        at Assertion.be.Assertion.equal (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:216:10)
        at Assertion.<computed> [as be] (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:69:24)
        at Context.<anonymous> (c:\Users\Public\Documents\Code\vscode-beautify\test\extension.test.js:122:17)

  2) Beautify
       js file
         with: "end_with_newline":true
           formats the file:
     Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (c:\Users\Public\Documents\Code\vscode-beautify\test\extension.test.js)
        at listOnTimeout (node:internal/timers:559:17)
        at process.processTimers (node:internal/timers:502:7)

  3) Beautify
       js file
         with: "end_with_newline":false
           formats the file:
     Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (c:\Users\Public\Documents\Code\vscode-beautify\test\extension.test.js)
        at listOnTimeout (node:internal/timers:559:17)
        at process.processTimers (node:internal/timers:502:7)

  4) Beautify
       html file
         with: "end_with_newline":true
           beautifies the file:
     Error: expected '<div><span></span>\r\n</div>' to equal '<div><span></span>\r\n</div>\r\n'
        at Assertion.assert (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:96:13)
        at Assertion.be.Assertion.equal (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:216:10)
        at Assertion.<computed> [as be] (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:69:24)
        at Context.<anonymous> (c:\Users\Public\Documents\Code\vscode-beautify\test\extension.test.js:122:17)

  5) Beautify
       html file
         with: "end_with_newline":true
           formats the file:
     Error: expected '<div><span></span>\r\n</div>' to equal '<div><span></span>\r\n</div>\r\n'
        at Assertion.assert (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:96:13)
        at Assertion.be.Assertion.equal (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:216:10)
        at Assertion.<computed> [as be] (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:69:24)
        at Context.<anonymous> (c:\Users\Public\Documents\Code\vscode-beautify\test\extension.test.js:127:19)

  6) Beautify
       html file
         with: "wrap_attributes":"force"
           beautifies the file:
     Error: expected '<div data-thing="abc" class="a" style=""></div>' to equal '<div data-thing="abc"\r\n    class="a"\r\n    style=""></div>'
        at Assertion.assert (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:96:13)
        at Assertion.be.Assertion.equal (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:216:10)
        at Assertion.<computed> [as be] (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:69:24)
        at Context.<anonymous> (c:\Users\Public\Documents\Code\vscode-beautify\test\extension.test.js:122:17)

  7) Beautify
       html file
         with: "wrap_attributes":"force-expand-multiline"
           beautifies the file:
     Error: expected '<div data-thing="abc" class="a" style=""></div>' to equal '<div\r\n    data-thing="abc"\r\n    class="a"\r\n    style=""\r\n></div>'
        at Assertion.assert (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:96:13)
        at Assertion.be.Assertion.equal (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:216:10)
        at Assertion.<computed> [as be] (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:69:24)
        at Context.<anonymous> (c:\Users\Public\Documents\Code\vscode-beautify\test\extension.test.js:122:17)

  8) Beautify
       css file
         with: "end_with_newline":true
           beautifies the file:
     Error: expected '.a,\r\n.b {\r\n    color: blue;\r\n    display: block;\r\n}' to equal '.a,\r\n.b {\r\n    color: blue;\r\n    display: block;\r\n}\r\n'      
        at Assertion.assert (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:96:13)
        at Assertion.be.Assertion.equal (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:216:10)
        at Assertion.<computed> [as be] (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:69:24)
        at Context.<anonymous> (c:\Users\Public\Documents\Code\vscode-beautify\test\extension.test.js:122:17)

  9) Beautify
       css file
         with: "end_with_newline":true
           formats the file:
     Error: expected '.a,\r\n.b {\r\n    color: blue;\r\n    display: block;\r\n}' to equal '.a,\r\n.b {\r\n    color: blue;\r\n    display: block;\r\n}\r\n'      
        at Assertion.assert (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:96:13)
        at Assertion.be.Assertion.equal (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:216:10)
        at Assertion.<computed> [as be] (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:69:24)
        at Context.<anonymous> (c:\Users\Public\Documents\Code\vscode-beautify\test\extension.test.js:127:19)

  10) Beautify
       css file
         with: "end_with_newline":false
           formats the file:
     Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (c:\Users\Public\Documents\Code\vscode-beautify\test\extension.test.js)
        at listOnTimeout (node:internal/timers:559:17)
        at process.processTimers (node:internal/timers:502:7)

  11) Beautify
       scss file
         with: "newline_between_rules":false
           beautifies the file:
     Error: expected '.a,\r\n.b {\r\n    &.c {}\r\n\r\n    &.d {}\r\n\r\n    color:blue;\r\n    display:block;\r\n}' to equal '.a,\r\n.b {\r\n    &.c {}\r\n    &.d {}\r\n    color:blue;\r\n    display:block;\r\n}'
        at Assertion.assert (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:96:13)
        at Assertion.be.Assertion.equal (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:216:10)
        at Assertion.<computed> [as be] (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:69:24)
        at Context.<anonymous> (c:\Users\Public\Documents\Code\vscode-beautify\test\extension.test.js:122:17)

  12) Issues
       253
         fixed:
     Error: expected '@mixin navbar-variant($color, $font-color: rgba(255, 255, 255, 0.8), $hover-color: #f6f6f6, $hover-bg: rgba(0, 0, 0, 0.1)) {\r\n    background-color: $color;\r\n\r\n    //Navbar links\r\n    .nav>li>a {\r\n        color: $font-color;\r\n    }\r\n}' to equal '@mixin navbar-variant($color, $font-color: rgba(255, 255, 255, 0.8), $hover-color: #f6f6f6, $hover-bg: rgba(0, 0, 0, 0.1)) {\r\n    background-color: $color;\r\n\r\n    //Navbar links\r\n    .nav > li > a {\r\n        color: $font-color;\r\n    }\r\n}'
        at Assertion.assert (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:96:13)
        at Assertion.be.Assertion.equal (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:216:10)
        at Assertion.<computed> [as be] (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:69:24)
        at Context.<anonymous> (c:\Users\Public\Documents\Code\vscode-beautify\test\issues.test.js:74:15)

Error: 14 tests failed.
        at c:\Users\Public\Documents\Code\vscode-beautify\test\runner.js:22:13
        at done (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\mocha\lib\mocha.js:608:13)
        at Runner.<anonymous> (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\mocha\lib\runner.js:864:5)
        at Runner.emit (node:events:525:35)
        at c:\Users\Public\Documents\Code\vscode-beautify\node_modules\mocha\lib\runner.js:851:12
        at c:\Users\Public\Documents\Code\vscode-beautify\node_modules\mocha\lib\runner.js:690:9
        at next (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\mocha\lib\runner.js:303:14)
        at Immediate.<anonymous> (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\mocha\lib\runner.js:347:5)
        at process.processImmediate (node:internal/timers:466:21)
  13) Issues
       267
         fixed:
     Error: expected '{\r\n    foo: async function () {\r\n        //null \r\n    },\r\n    bar: async function () {\r\n        //null \r\n    },\r\n    baz: async function () {\r\n        //null \r\n    },\r\n    qux: async function () {\r\n        //null \r\n    },\r\n}' to equal '{\r\n    foo: async function() {\r\n        //null \r\n    },\r\n    bar: async function() {\r\n        //null \r\n    },\r\n    baz: async function() {\r\n        //null \r\n    },\r\n    qux: async function() {\r\n        //null \r\n    },\r\n}'
        at Assertion.assert (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:96:13)
        at Assertion.be.Assertion.equal (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:216:10)
        at Assertion.<computed> [as be] (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:69:24)
        at Context.<anonymous> (c:\Users\Public\Documents\Code\vscode-beautify\test\issues.test.js:74:15)

  14) Issues
       273
         fixed:
     Error: expected 'module.exports = {\r\n\r\n    getAvgSalary: async ctx => {\r\n        try {\r\n            let {\r\n                industry_code,\r\n                city_code,\r\n                scale_code,\r\n                nature_code,\r\n                education_code,\r\n                experience_code,\r\n                job_code\r\n            } = ctx.query;\r\n\r\n            let predictService = new PredictService(ctx);\r\n            let data = await predictService.getJobAvgOrSort({\r\n                industry_code,\r\n                city_code,\r\n                scale_code,\r\n                nature_code,\r\n                job_code\r\n            });\r\n\r\n            pr.success(ctx, data[0]);\r\n        } catch (error) {\r\n            pr.error(ctx, error);\r\n        }\r\n    }\r\n}' to equal 'module.exports = {\r\n\r\n  getAvgSalary: async ctx => {\r\n    try {\r\n      let {\r\n        industry_code,\r\n        city_code,\r\n        scale_code,\r\n        nature_code,\r\n        education_code,\r\n        experience_code,\r\n        job_code\r\n      } = ctx.query;\r\n\r\n      let predictService = new PredictService( ctx );\r\n      let data = await predictService.getJobAvgOrSort( {\r\n        industry_code,\r\n        city_code,\r\n        scale_code,\r\n        nature_code,\r\n        job_code\r\n      } );\r\n\r\n      pr.success( ctx, data[ 0 ] );\r\n    } catch ( error ) {\r\n      pr.error( ctx, error );\r\n    }\r\n  }\r\n}'
        at Assertion.assert (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:96:13)
        at Assertion.be.Assertion.equal (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:216:10)
        at Assertion.<computed> [as be] (c:\Users\Public\Documents\Code\vscode-beautify\node_modules\expect.js\index.js:69:24)
        at Context.<anonymous> (c:\Users\Public\Documents\Code\vscode-beautify\test\issues.test.js:74:15)

[main 2023-05-29T13:23:02.847Z] Extension host with pid 27424 exited with code: 0, signal: unknown.
Exit code:   1
Failed to run tests

Configuration

NOTE: Please provide code snippets instead of screen shots. Your issue needs to be replicated, and we need the failing code (text) to do this.

Provide the settings you use:
(VS Code workspace and user settings, .jsbeautifyrc, .editorconfig)
eg.:

VS Code:

{
	"editor.formatOnSave": true
}

.jsbeautifyrc

{
	"max_preserve_newlines": 2,
	"preserve_newlines": true,
	"end_with_newline": true,
	"brace_style": "collapse-preserve-inline",
}

Additional context

  • Operating System (+Version): Windows 11 Home 22H2
  • VS Code Version: 1.78.2
  • beautify Version: 1.14.7

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.