This is an automated email from the ASF dual-hosted git repository.

shanedell pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/daffodil-vscode.git


The following commit(s) were added to refs/heads/main by this push:
     new 2f47a72  Fix intellisense extra '<' issue. Replace deprecated 'substr' 
with 'substring'
2f47a72 is described below

commit 2f47a72f6ec64259a1fd35840a3905953509fe50
Author: Shane Dell <[email protected]>
AuthorDate: Mon Nov 21 14:00:39 2022 -0500

    Fix intellisense extra '<' issue. Replace deprecated 'substr' with 
'substring'
    
    Closes #350
    Closes #353
---
 src/hexView.ts                                |  4 ++--
 src/language/providers/attributeCompletion.ts |  2 +-
 src/language/providers/closeElement.ts        |  2 +-
 src/language/providers/closeElementSlash.ts   |  2 +-
 src/language/providers/elementCompletion.ts   | 11 +++++++++--
 src/language/providers/endSingleBrace.ts      |  2 +-
 src/omega_edit/utils.ts                       |  4 ++--
 7 files changed, 17 insertions(+), 10 deletions(-)

diff --git a/src/hexView.ts b/src/hexView.ts
index ddc77dc..ca4e93f 100644
--- a/src/hexView.ts
+++ b/src/hexView.ts
@@ -250,9 +250,9 @@ export class DebuggerHexView {
         for (var i = 1; i < dataLocations.length - 2; i++) {
           let middle = Math.floor(dataLocations[i].length / 2)
           this.hexString +=
-            dataLocations[i].substr(0, middle).toUpperCase() +
+            dataLocations[i].substring(0, middle).toUpperCase() +
             ' ' +
-            dataLocations[i].substr(middle).toUpperCase() +
+            dataLocations[i].substring(middle).toUpperCase() +
             ' '
         }
         this.hexString += '\t' + dataLocations[dataLocations.length - 1] + '\n'
diff --git a/src/language/providers/attributeCompletion.ts 
b/src/language/providers/attributeCompletion.ts
index 37c7b1b..e8a6767 100644
--- a/src/language/providers/attributeCompletion.ts
+++ b/src/language/providers/attributeCompletion.ts
@@ -65,7 +65,7 @@ export function getAttributeCompletionProvider() {
       ) {
         const wholeLine = document
           .lineAt(position)
-          .text.substr(0, position.character)
+          .text.substring(0, position.character)
         var nearestOpenItem = nearestOpen(document, position)
         const nsPrefix = getXsdNsPrefix(document, position)
 
diff --git a/src/language/providers/closeElement.ts 
b/src/language/providers/closeElement.ts
index 6ba48ef..53a731a 100644
--- a/src/language/providers/closeElement.ts
+++ b/src/language/providers/closeElement.ts
@@ -31,7 +31,7 @@ export function getCloseElementProvider() {
         const nearestOpenItem = nearestOpen(document, position)
         const wholeLine = document
           .lineAt(position)
-          .text.substr(0, position.character)
+          .text.substring(0, position.character)
 
         if (
           !wholeLine.includes('</') &&
diff --git a/src/language/providers/closeElementSlash.ts 
b/src/language/providers/closeElementSlash.ts
index 39fca75..fd75312 100644
--- a/src/language/providers/closeElementSlash.ts
+++ b/src/language/providers/closeElementSlash.ts
@@ -35,7 +35,7 @@ export function getCloseElementSlashProvider() {
         const nsPrefix = getXsdNsPrefix(document, position)
         const wholeLine = document
           .lineAt(position)
-          .text.substr(0, position.character)
+          .text.substring(0, position.character)
         const nearestOpenItem = nearestOpen(document, position)
         if (checkBraceOpen(document, position)) {
           return undefined
diff --git a/src/language/providers/elementCompletion.ts 
b/src/language/providers/elementCompletion.ts
index 94b85cb..8d2fc9d 100644
--- a/src/language/providers/elementCompletion.ts
+++ b/src/language/providers/elementCompletion.ts
@@ -45,8 +45,15 @@ export function 
getElementCompletionProvider(dfdlFormatString: string) {
         dfdlFormatString,
         nsPrefix
       ).items.forEach((e) => {
-        const completionItem = createCompletionItem(e, '', nsPrefix)
-        compItems.push(completionItem)
+        const line = document
+          .lineAt(position)
+          .text.substring(0, position.character)
+
+        if (line.includes('<') && e.snippetString.startsWith('<')) {
+          e.snippetString = e.snippetString.substring(1, 
e.snippetString.length)
+        }
+
+        compItems.push(createCompletionItem(e, '', nsPrefix))
       })
 
       return compItems
diff --git a/src/language/providers/endSingleBrace.ts 
b/src/language/providers/endSingleBrace.ts
index 8be8e60..7917ba4 100644
--- a/src/language/providers/endSingleBrace.ts
+++ b/src/language/providers/endSingleBrace.ts
@@ -28,7 +28,7 @@ export function getEndSingleBraceProvider() {
       ) {
         const wholeLine = document
           .lineAt(position)
-          .text.substr(0, position.character)
+          .text.substring(0, position.character)
         if (
           wholeLine.includes('dfdl:length="{') ||
           wholeLine.includes('dfdl:choiceDispatchKey="{')
diff --git a/src/omega_edit/utils.ts b/src/omega_edit/utils.ts
index 3dce1f8..7925024 100644
--- a/src/omega_edit/utils.ts
+++ b/src/omega_edit/utils.ts
@@ -89,9 +89,9 @@ export async function setViewportDataForPanel(
                 for (var i = 1; i < 9; i++) {
                   let middle = Math.floor(dataLocations[i].length / 2)
                   encodedData +=
-                    dataLocations[i].substr(0, middle).toUpperCase() +
+                    dataLocations[i].substring(0, middle).toUpperCase() +
                     '' +
-                    dataLocations[i].substr(middle).toUpperCase() +
+                    dataLocations[i].substring(middle).toUpperCase() +
                     ' '
                 }
               }

Reply via email to