From 0d7a6cd5ea44307b6adfbcf09ff724c3528813b3 Mon Sep 17 00:00:00 2001 From: Alvin Huang Date: Sun, 23 Dec 2018 12:12:37 +0800 Subject: [PATCH] fix work break on: '===','!=', '<=', '>=' --- package.json | 17 +++++++++++++---- src/formatter.ts | 8 +++++++- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 6c8ecdc..b0422bd 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ 1, 1 ], - "arrow":[ + "arrow": [ 1, 1 ], @@ -70,9 +70,18 @@ "configurationDefaults": { "[shellscript]": { "alignment.surroundSpace": { - "colon": [ 0, 1 ], - "assignment": [ -1, -1 ], - "arrow":[ 1, 1 ], + "colon": [ + 0, + 1 + ], + "assignment": [ + -1, + -1 + ], + "arrow": [ + 1, + 1 + ], "comment": 2 } } diff --git a/src/formatter.ts b/src/formatter.ts index eb514d1..d635eed 100644 --- a/src/formatter.ts +++ b/src/formatter.ts @@ -198,7 +198,13 @@ export default class Formatter { } else if ( char == "=" && next == ">" ) { currTokenType = TokenType.Arrow; nextSeek = 2; - } else if ( char == "=" && next == "=" ) { + } else if ( (char == '=' || char == '!' || char == '>' || char == '<') && next == "=") { + currTokenType = TokenType.Word; + nextSeek = 2; + if ((char == '=' || char == '!') && text.charAt(pos+nextSeek) == '=') { + nextSeek = 3; + } + } else if ((char == '>' || char == '<' || char == '!') && next == '=') { currTokenType = TokenType.Word; nextSeek = 2; } else if (( char == "+" || char == "-" || char == "*" || char == "/" ) && next == "=" ) {