From 9c5ca6c1ccdd972b8e81d1cf34fe1f5202a314ab Mon Sep 17 00:00:00 2001 From: Ryan Vandersmith Date: Fri, 21 Jul 2023 12:12:11 -0600 Subject: [PATCH] Add rule for `@` tokens (#106) * Add rule for '@' tokens * 0.7.1 * Bump mo-fmt --- package-lock.json | 4 ++-- package.json | 2 +- packages/mo-fmt/package-lock.json | 18 +++++++++--------- packages/mo-fmt/package.json | 4 ++-- src/printers/motoko-tt-ast/spaceConfig.ts | 3 +++ tests/formatter.test.ts | 4 ++++ 6 files changed, 21 insertions(+), 14 deletions(-) diff --git a/package-lock.json b/package-lock.json index a42bcf2..126a88e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "prettier-plugin-motoko", - "version": "0.7.0", + "version": "0.7.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "prettier-plugin-motoko", - "version": "0.7.0", + "version": "0.7.1", "license": "Apache-2.0", "dependencies": { "out-of-character": "^1.2.1" diff --git a/package.json b/package.json index 07820c1..fb1691e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "prettier-plugin-motoko", - "version": "0.7.0", + "version": "0.7.1", "description": "A code formatter for the Motoko smart contract language.", "main": "lib/environments/node.js", "browser": "lib/environments/web.js", diff --git a/packages/mo-fmt/package-lock.json b/packages/mo-fmt/package-lock.json index 73f028c..ebae770 100644 --- a/packages/mo-fmt/package-lock.json +++ b/packages/mo-fmt/package-lock.json @@ -1,18 +1,18 @@ { "name": "mo-fmt", - "version": "0.7.0", + "version": "0.7.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mo-fmt", - "version": "0.7.0", + "version": "0.7.1", "license": "Apache-2.0", "dependencies": { "commander": "^9.4.0", "fast-glob": "^3.2.11", "prettier": "^3.0", - "prettier-plugin-motoko": "^0.7.0" + "prettier-plugin-motoko": "^0.7.1" }, "bin": { "mo-fmt": "bin/mo-fmt.js" @@ -4591,9 +4591,9 @@ } }, "node_modules/prettier-plugin-motoko": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/prettier-plugin-motoko/-/prettier-plugin-motoko-0.7.0.tgz", - "integrity": "sha512-g3H1sw8mJCp2MvpUCf3gvbf3WL/TngeqvFWeJ4n6UWcbyL+D0D6xlXJC7vXSWICqYz29jd0nXJ0VpaHCOpxKOw==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/prettier-plugin-motoko/-/prettier-plugin-motoko-0.7.1.tgz", + "integrity": "sha512-9GuILLlop4Gjx94NRuGej5ihZ8rSebv0W+sY7bmDVA2GCe3A9iMk2tzW0OdoUprWAIsmxbJZCyYXF6aqZPaN5Q==", "dependencies": { "out-of-character": "^1.2.1" }, @@ -9152,9 +9152,9 @@ "integrity": "sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g==" }, "prettier-plugin-motoko": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/prettier-plugin-motoko/-/prettier-plugin-motoko-0.7.0.tgz", - "integrity": "sha512-g3H1sw8mJCp2MvpUCf3gvbf3WL/TngeqvFWeJ4n6UWcbyL+D0D6xlXJC7vXSWICqYz29jd0nXJ0VpaHCOpxKOw==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/prettier-plugin-motoko/-/prettier-plugin-motoko-0.7.1.tgz", + "integrity": "sha512-9GuILLlop4Gjx94NRuGej5ihZ8rSebv0W+sY7bmDVA2GCe3A9iMk2tzW0OdoUprWAIsmxbJZCyYXF6aqZPaN5Q==", "requires": { "out-of-character": "^1.2.1" } diff --git a/packages/mo-fmt/package.json b/packages/mo-fmt/package.json index e3a0b3f..0b2f5aa 100644 --- a/packages/mo-fmt/package.json +++ b/packages/mo-fmt/package.json @@ -1,6 +1,6 @@ { "name": "mo-fmt", - "version": "0.7.0", + "version": "0.7.1", "description": "An easy-to-use Motoko formatter command.", "main": "src/cli.js", "bin": { @@ -22,7 +22,7 @@ "commander": "^9.4.0", "fast-glob": "^3.2.11", "prettier": "^3.0", - "prettier-plugin-motoko": "^0.7.0" + "prettier-plugin-motoko": "^0.7.1" }, "devDependencies": { "@rollup/plugin-commonjs": "^22.0.2", diff --git a/src/printers/motoko-tt-ast/spaceConfig.ts b/src/printers/motoko-tt-ast/spaceConfig.ts index 3c09d2d..793bcdf 100644 --- a/src/printers/motoko-tt-ast/spaceConfig.ts +++ b/src/printers/motoko-tt-ast/spaceConfig.ts @@ -188,6 +188,9 @@ const spaceConfig: SpaceConfig = { 'keep', ], + // misc + [tokenEquals('@'), '_', 'keep'], + // default ['_', '_', 'space'], ], diff --git a/tests/formatter.test.ts b/tests/formatter.test.ts index 029fc37..174cd12 100644 --- a/tests/formatter.test.ts +++ b/tests/formatter.test.ts @@ -414,6 +414,10 @@ describe('Motoko formatter', () => { ); }); + test('@ symbol', async () => { + expect(await format('@abc')).toStrictEqual('@abc\n'); + }); + test('multi-line text', async () => { await expectFormatted('"A\nB"\n'); await expectFormatted('" A\n B"\n');