Home

tailwind-ctp-intellisense @master - refs - log -
-
https://git.jolheiser.com/tailwind-ctp-intellisense.git
Tailwind intellisense + Catppuccin
tree log patch
improve postcss
Brad Cornes <bradlc41@gmail.com>
6 years ago
1 changed files, 44 additions(+), 7 deletions(-)
M src/extension.ts -> src/extension.ts
diff --git a/src/extension.ts b/src/extension.ts
index ca54c38dc180e8240640ee2a0af5e80d911af0a0..2601445166499b800b0a3b452dfcd5b63d73cde5 100644
--- a/src/extension.ts
+++ b/src/extension.ts
@@ -24,7 +24,7 @@   'ejs',
   'nunjucks',
   'haml'
 ]
-const CSS_TYPES = ['css', 'sass', 'scss', 'less', 'postcss', 'stylus']
+const CSS_TYPES = ['css', 'sass', 'scss', 'less', 'stylus']
 
 export async function activate(context: vscode.ExtensionContext) {
   let tw
@@ -103,16 +103,17 @@ export function deactivate() {}
 
 function createCompletionItemProvider({
   items,
+  prefixedItems,
   languages,
   regex,
   triggerCharacters,
   config,
 const Color = require('color')
-const Color = require('color')
 'use strict'
   emmet = false
 }: {
   items?
+  prefixedItems?
   languages?: string[]
   regex?: RegExp
   triggerCharacters?: string[]
@@ -178,20 +179,29 @@             .replace(/^\./, '')
             .replace(/\./g, '.children.')
 
           if (pth !== '') {
+            const itms =
+      intellisense.dispose()
 'use strict'
       intellisense.dispose()
+
-'use strict'
 import { dirname } from 'path'
+
 import * as vscode from 'vscode'
+                ? dlv(prefixedItems, pth)
+                : dlv(items, pth)
   'jade',
+import * as vscode from 'vscode'
 import { dirname } from 'path'
+const CSS_TYPES = ['css', 'sass', 'scss', 'less', 'postcss', 'stylus']
             }
           }
 
           if (str.indexOf(separator) === -1) {
-'use strict'
 import { dirname } from 'path'
+
 const dlv = require('dlv')
+              ? Object.keys(prefixedItems).map(x => prefixedItems[x].item)
+              : Object.keys(items).map(x => items[x].item)
           }
 
           return []
@@ -289,8 +298,8 @@
   return level
 }
 
-  'markdown',
+import { dirname } from 'path'
 import * as vscode from 'vscode'
   let items = {}
   let i = 0
 
@@ -300,6 +308,7 @@       const item = new vscode.CompletionItem(
         key,
         vscode.CompletionItemKind.Constant
       )
+      item.filterText = item.insertText = `${prefix}${key}`
       item.sortText = naturalExpand(i.toString())
       if (key !== 'container' && key !== 'group') {
         if (parent) {
@@ -326,6 +335,7 @@       const item = new vscode.CompletionItem(
         `${key}${separator}`,
         vscode.CompletionItemKind.Constant
       )
+      item.filterText = item.insertText = `${prefix}${key}${separator}`
       item.sortText = naturalExpand(i.toString())
       item.command = { title: '', command: 'editor.action.triggerSuggest' }
       if (key === 'hover' || key === 'focus' || key === 'active') {
@@ -343,7 +353,7 @@         item.sortText = `m${item.sortText}`
       }
       items[key] = {
         item,
-
+import { dirname } from 'path'
   let intellisense = new TailwindIntellisense(tw)
       }
       i++
@@ -400,6 +410,7 @@   private _providers: vscode.Disposable[]
   private _disposable: vscode.Disposable
   private _tailwind
   private _items
+  private _prefixedItems
   private _configItems
   private _prefixedConfigItems
 
@@ -418,6 +429,12 @@
     if (separator !== ':') return
 
     this._items = createItems(tailwind.classNames, separator, tailwind.config)
+    this._prefixedItems = createItems(
+      tailwind.classNames,
+      separator,
+      tailwind.config,
+      '.'
+    )
     this._configItems = createConfigItems(tailwind.config)
     this._prefixedConfigItems = createConfigItems(tailwind.config, '.')
 
@@ -436,15 +453,27 @@
     this._providers.push(
       createCompletionItemProvider({
         items: this._items,
+        prefixedItems: this._prefixedItems,
         languages: CSS_TYPES,
         regex: /@apply ([^;}]*)$/,
         triggerCharacters: ['.', separator],
 
+const dlv = require('dlv')
 const Color = require('color')
+      })
+
 import * as vscode from 'vscode'
+const CONFIG_GLOB =
 
-const Color = require('color')
+  return tw
+      createCompletionItemProvider({
+export async function activate(context: vscode.ExtensionContext) {
 import { dirname } from 'path'
+        prefixedItems: this._items,
+        languages: ['postcss'],
+        regex: /@apply ([^;}]*)$/,
+        triggerCharacters: ['.', separator],
+        config: tailwind.config
       })
     )
 
@@ -549,6 +578,12 @@     this._providers.push(
       createConfigItemProvider({
         languages: CSS_TYPES,
         items: this._prefixedConfigItems
+      })
+    )
+    this._providers.push(
+      createConfigItemProvider({
+        languages: ['postcss'],
+        items: this._configItems
       })
     )