├── images
├── ss1.png
└── logo.png
├── .vscodeignore
├── pyscript-0.1.0.vsix
├── pyscript-0.1.1.vsix
├── CHANGELOG.md
├── .vscode
└── launch.json
├── README.md
├── language-configuration.json
├── LICENSE
├── vsc-extension-quickstart.md
├── package.json
├── syntaxes
└── pyscript.tmLanguage.json
└── snippets
├── test.json
└── pyscript-snippets.json
/images/ss1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hardeepsingh980/pyscript/HEAD/images/ss1.png
--------------------------------------------------------------------------------
/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hardeepsingh980/pyscript/HEAD/images/logo.png
--------------------------------------------------------------------------------
/.vscodeignore:
--------------------------------------------------------------------------------
1 | .vscode/**
2 | .vscode-test/**
3 | .gitignore
4 | vsc-extension-quickstart.md
5 |
--------------------------------------------------------------------------------
/pyscript-0.1.0.vsix:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hardeepsingh980/pyscript/HEAD/pyscript-0.1.0.vsix
--------------------------------------------------------------------------------
/pyscript-0.1.1.vsix:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hardeepsingh980/pyscript/HEAD/pyscript-0.1.1.vsix
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Change Log
2 |
3 | All notable changes to the "pyscript" extension will be documented in this file.
4 |
5 | Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file.
6 |
7 | ## [Unreleased]
8 |
9 | - Initial release
--------------------------------------------------------------------------------
/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | // A launch configuration that launches the extension inside a new window
2 | // Use IntelliSense to learn about possible attributes.
3 | // Hover to view descriptions of existing attributes.
4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5 | {
6 | "version": "0.2.0",
7 | "configurations": [
8 | {
9 | "name": "Extension",
10 | "type": "extensionHost",
11 | "request": "launch",
12 | "args": [
13 | "--extensionDevelopmentPath=${workspaceFolder}"
14 | ]
15 | }
16 | ]
17 | }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # PyScript extension for Visual Studio Code
2 |
3 | > Beautiful syntax and scoped snippets for pyscript
4 |
5 | 
6 |
7 |
8 | ## Features
9 | - Provides code Highlighting for python langage in pyscript in HTML files.
10 | - More than 200 snippets for PyScript, Django Templte, Python and HTML.
11 | - Snippets are scoped to the current file.
12 | - New Language Support for `pyscript` in VS code Language selection.
13 |
14 |
15 | ## Example Snippets
16 | `pyscript` will add the following snippets:
17 | ```
18 |
19 |
20 | ```
21 |
22 | `pycdn` will add the following snippets:
23 | ```
24 |
25 | "
26 | ```
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/language-configuration.json:
--------------------------------------------------------------------------------
1 | {
2 | "comments": {
3 | // symbol used for single line comment. Remove this entry if your language does not support line comments
4 | "lineComment": "//",
5 | // symbols used for start and end a block comment. Remove this entry if your language does not support block comments
6 | "blockComment": [ "/*", "*/" ]
7 | },
8 | // symbols used as brackets
9 | "brackets": [
10 | ["{", "}"],
11 | ["[", "]"],
12 | ["(", ")"]
13 | ],
14 | // symbols that are auto closed when typing
15 | "autoClosingPairs": [
16 | ["{", "}"],
17 | ["[", "]"],
18 | ["(", ")"],
19 | ["\"", "\""],
20 | ["'", "'"]
21 | ],
22 | // symbols that can be used to surround a selection
23 | "surroundingPairs": [
24 | ["{", "}"],
25 | ["[", "]"],
26 | ["(", ")"],
27 | ["\"", "\""],
28 | ["'", "'"]
29 | ]
30 | }
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2021 vscode-pyscript contributors
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining
6 | a copy of this software and associated documentation files (the "Software"),
7 | to deal in the Software without restriction, including without limitation
8 | the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 | and/or sell copies of the Software, and to permit persons to whom the
10 | Software is furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included
13 | in all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
21 | IN THE SOFTWARE.
--------------------------------------------------------------------------------
/vsc-extension-quickstart.md:
--------------------------------------------------------------------------------
1 | # Welcome to your VS Code Extension
2 |
3 | ## What's in the folder
4 |
5 | * This folder contains all of the files necessary for your extension.
6 | * `package.json` - this is the manifest file in which you declare your language support and define the location of the grammar file that has been copied into your extension.
7 | * `syntaxes/pyscript.tmLanguage.json` - this is the Text mate grammar file that is used for tokenization.
8 | * `language-configuration.json` - this is the language configuration, defining the tokens that are used for comments and brackets.
9 |
10 | ## Get up and running straight away
11 |
12 | * Make sure the language configuration settings in `language-configuration.json` are accurate.
13 | * Press `F5` to open a new window with your extension loaded.
14 | * Create a new file with a file name suffix matching your language.
15 | * Verify that syntax highlighting works and that the language configuration settings are working.
16 |
17 | ## Make changes
18 |
19 | * You can relaunch the extension from the debug toolbar after making changes to the files listed above.
20 | * You can also reload (`Ctrl+R` or `Cmd+R` on Mac) the VS Code window with your extension to load your changes.
21 |
22 | ## Add more language features
23 |
24 | * To add features such as intellisense, hovers and validators check out the VS Code extenders documentation at https://code.visualstudio.com/docs
25 |
26 | ## Install your extension
27 |
28 | * To start using your extension with Visual Studio Code copy it into the `/.vscode/extensions` folder and restart Code.
29 | * To share your extension with the world, read on https://code.visualstudio.com/docs about publishing an extension.
30 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "pyscript",
3 | "displayName": "pyscript",
4 | "description": "Code Highlighter for PyScript",
5 | "publisher": "HardeepSingh",
6 | "icon": "images/logo.png",
7 | "galleryBanner": {
8 | "color": "#0c4b33",
9 | "theme": "dark"
10 | },
11 | "version": "0.1.1",
12 | "engines": {
13 | "vscode": "^1.67.0"
14 | },
15 | "recommendations": [
16 | "ms-python.python"
17 | ],
18 | "keywords": [
19 | "python",
20 | "django",
21 | "web",
22 | "pyscript",
23 | "django templates",
24 | "anaconda"
25 | ],
26 | "categories": [
27 | "Programming Languages",
28 | "Snippets"
29 | ],
30 | "repository": {
31 | "type": "git",
32 | "url": "https://github.com/Hardeepsingh980/pyscript.git"
33 | },
34 | "homepage": "https://github.com/Hardeepsingh980/pyscript.git",
35 | "bugs": {
36 | "url": "https://github.com/Hardeepsingh980/pyscript.git/issues"
37 | },
38 | "contributes": {
39 | "languages": [{
40 | "id": "pyscript",
41 | "aliases": ["pyscript", "pyscript"],
42 | "extensions": [".html"],
43 | "configuration": "./language-configuration.json"
44 | }],
45 | "grammars": [{
46 | "language": "pyscript",
47 | "scopeName": "text.html.pyscript",
48 | "path": "./syntaxes/pyscript.tmLanguage.json"
49 | }],
50 | "snippets": [
51 | {
52 | "language": "pyscript",
53 | "scopeName": "text.html.pyscript",
54 | "path": "./snippets/pyscript-snippets.json"
55 | }
56 | ]
57 | }
58 | }
--------------------------------------------------------------------------------
/syntaxes/pyscript.tmLanguage.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "pyscript",
3 | "scopeName": "text.html.pyscript",
4 | "fileTypes": [
5 | "html"
6 | ],
7 | "firstLineMatch": "^{% extends [\"'][^\"']+[\"'] %}",
8 | "foldingStartMarker": "(<(?i:(head|table|tr|div|style|script|py-script|ul|ol|form|dl))\\b.*?>|{%\\s*(block|filter|for|if|macro|raw))",
9 | "foldingStopMarker": "(<\/(?i:(head|table|tr|div|style|script|py-script|ul|ol|form|dl))\\b.*?>|{%\\s*(endblock|endfilter|endfor|endif|endmacro|endraw)\\s*%})",
10 | "patterns": [
11 | {
12 | "begin": "{#",
13 | "captures": [
14 | {
15 | "name": "entity.other.django.delimiter.comment"
16 | }
17 | ],
18 | "end": "#}",
19 | "name": "comment.line.django"
20 | },
21 | {
22 | "begin": "{% comment",
23 | "captures": [
24 | {
25 | "name": "entity.other.django.delimiter.comment"
26 | }
27 | ],
28 | "end": "{% endcomment %}",
29 | "name": "comment.block.django"
30 | },
31 | {
32 | "begin": "{{",
33 | "captures": [
34 | {
35 | "name": "entity.other.django.delimiter.variable"
36 | }
37 | ],
38 | "end": "}}",
39 | "name": "meta.scope.django.variable",
40 | "patterns": [
41 | {
42 | "include": "#expression"
43 | }
44 | ]
45 | },
46 | {
47 | "begin": "{%",
48 | "captures": [
49 | {
50 | "name": "entity.other.django.delimiter.tag"
51 | }
52 | ],
53 | "end": "%}",
54 | "name": "meta.scope.django.tag",
55 | "patterns": [
56 | {
57 | "include": "#expression"
58 | }
59 | ]
60 | },
61 | {
62 | "begin": "",
69 | "name": "meta.tag.pyscript",
70 | "patterns": [
71 | {
72 | "include": "source.python"
73 | }
74 | ]
75 | },
76 | {
77 | "begin": "",
84 | "name": "meta.tag.pyrel",
85 | "patterns": [
86 | {
87 | "include": "source.python"
88 | }
89 | ]
90 | },
91 | {
92 | "include": "text.html.basic"
93 | }
94 | ],
95 | "repository": {
96 | "escaped_char": {
97 | "match": "\\\\x[0-9A-F]{2}",
98 | "name": "constant.character.escape.hex.django"
99 | },
100 | "escaped_unicode_char": {
101 | "captures": {
102 | "1": {
103 | "name": "constant.character.escape.unicode.16-bit-hex.django"
104 | },
105 | "2": {
106 | "name": "constant.character.escape.unicode.32-bit-hex.django"
107 | },
108 | "3": {
109 | "name": "constant.character.escape.unicode.name.django"
110 | }
111 | },
112 | "match": "(\\\\U[0-9A-Fa-f]{8})|(\\\\u[0-9A-Fa-f]{4})|(\\\\N\\{[a-zA-Z ]+\\})"
113 | },
114 | "expression": {
115 | "patterns": [
116 | {
117 | "captures": {
118 | "1": {
119 | "name": "keyword.control.django"
120 | },
121 | "2": {
122 | "name": "variable.other.django.block"
123 | }
124 | },
125 | "match": "\\s*\\b(block)\\s+([a-zA-Z_][a-zA-Z0-9_]*)\\b"
126 | },
127 | {
128 | "captures": {
129 | "1": {
130 | "name": "keyword.control.django"
131 | },
132 | "2": {
133 | "name": "variable.other.django.filter"
134 | }
135 | },
136 | "match": "\\s*\\b(filter)\\s+([a-zA-Z_][a-zA-Z0-9_]*)\\b"
137 | },
138 | {
139 | "captures": {
140 | "1": {
141 | "name": "keyword.control.django"
142 | },
143 | "2": {
144 | "name": "variable.other.django.test"
145 | }
146 | },
147 | "match": "\\s*\\b(is)\\s+([a-zA-Z_][a-zA-Z0-9_]*)\\b"
148 | },
149 | {
150 | "captures": {
151 | "1": {
152 | "name": "keyword.control.django"
153 | }
154 | },
155 | "match": "(?<=\\{\\%-|\\{\\%)\\s*\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?!\\s*[,=])"
156 | },
157 | {
158 | "match": "\\b(and|else|if|in|import|not|or|with(out)?\\s+context)\\b",
159 | "name": "keyword.control.django"
160 | },
161 | {
162 | "match": "\\b(true|false|none)\\b",
163 | "name": "constant.language.django"
164 | },
165 | {
166 | "match": "\\b(loop|super|self|varargs|kwargs)\\b",
167 | "name": "variable.language.django"
168 | },
169 | {
170 | "match": "[a-zA-Z_][a-zA-Z0-9_]*",
171 | "name": "variable.other.django"
172 | },
173 | {
174 | "match": "(\\+|\\-|\\*\\*|\\*|\/\/|\/|%)",
175 | "name": "keyword.operator.arithmetic.django"
176 | },
177 | {
178 | "captures": {
179 | "1": {
180 | "name": "punctuation.other.django"
181 | },
182 | "2": {
183 | "name": "variable.other.django.filter"
184 | }
185 | },
186 | "match": "(\\|)([a-zA-Z_][a-zA-Z0-9_]*)"
187 | },
188 | {
189 | "captures": {
190 | "1": {
191 | "name": "punctuation.other.django"
192 | },
193 | "2": {
194 | "name": "variable.other.django.attribute"
195 | }
196 | },
197 | "match": "(\\.)([a-zA-Z_][a-zA-Z0-9_]*)"
198 | },
199 | {
200 | "begin": "\\[",
201 | "captures": [
202 | {
203 | "name": "punctuation.other.django"
204 | }
205 | ],
206 | "end": "\\]",
207 | "patterns": [
208 | {
209 | "include": "#expression"
210 | }
211 | ]
212 | },
213 | {
214 | "begin": "\\(",
215 | "captures": [
216 | {
217 | "name": "punctuation.other.django"
218 | }
219 | ],
220 | "end": "\\)",
221 | "patterns": [
222 | {
223 | "include": "#expression"
224 | }
225 | ]
226 | },
227 | {
228 | "begin": "\\{",
229 | "captures": [
230 | {
231 | "name": "punctuation.other.django"
232 | }
233 | ],
234 | "end": "\\}",
235 | "patterns": [
236 | {
237 | "include": "#expression"
238 | }
239 | ]
240 | },
241 | {
242 | "match": "(\\.|:|\\||,)",
243 | "name": "punctuation.other.django"
244 | },
245 | {
246 | "match": "(==|<=|=>|<|>|!=)",
247 | "name": "keyword.operator.comparison.django"
248 | },
249 | {
250 | "match": "=",
251 | "name": "keyword.operator.assignment.django"
252 | },
253 | {
254 | "begin": "\"",
255 | "beginCaptures": [
256 | {
257 | "name": "punctuation.definition.string.begin.django"
258 | }
259 | ],
260 | "end": "\"",
261 | "endCaptures": [
262 | {
263 | "name": "punctuation.definition.string.end.django"
264 | }
265 | ],
266 | "name": "string.quoted.double.django",
267 | "patterns": [
268 | {
269 | "include": "#string"
270 | }
271 | ]
272 | },
273 | {
274 | "begin": "'",
275 | "beginCaptures": [
276 | {
277 | "name": "punctuation.definition.string.begin.django"
278 | }
279 | ],
280 | "end": "'",
281 | "endCaptures": [
282 | {
283 | "name": "punctuation.definition.string.end.django"
284 | }
285 | ],
286 | "name": "string.quoted.single.django",
287 | "patterns": [
288 | {
289 | "include": "#string"
290 | }
291 | ]
292 | },
293 | {
294 | "begin": "@\/",
295 | "beginCaptures": [
296 | {
297 | "name": "punctuation.definition.regexp.begin.django"
298 | }
299 | ],
300 | "end": "\/",
301 | "endCaptures": [
302 | {
303 | "name": "punctuation.definition.regexp.end.django"
304 | }
305 | ],
306 | "name": "string.regexp.django",
307 | "patterns": [
308 | {
309 | "include": "#simple_escapes"
310 | }
311 | ]
312 | }
313 | ]
314 | },
315 | "simple_escapes": {
316 | "captures": {
317 | "1": {
318 | "name": "constant.character.escape.newline.django"
319 | },
320 | "10": {
321 | "name": "constant.character.escape.tab.django"
322 | },
323 | "11": {
324 | "name": "constant.character.escape.vertical-tab.django"
325 | },
326 | "2": {
327 | "name": "constant.character.escape.backlash.django"
328 | },
329 | "3": {
330 | "name": "constant.character.escape.double-quote.django"
331 | },
332 | "4": {
333 | "name": "constant.character.escape.single-quote.django"
334 | },
335 | "5": {
336 | "name": "constant.character.escape.bell.django"
337 | },
338 | "6": {
339 | "name": "constant.character.escape.backspace.django"
340 | },
341 | "7": {
342 | "name": "constant.character.escape.formfeed.django"
343 | },
344 | "8": {
345 | "name": "constant.character.escape.linefeed.django"
346 | },
347 | "9": {
348 | "name": "constant.character.escape.return.django"
349 | }
350 | },
351 | "match": "(\\\\\\n)|(\\\\\\\\)|(\\\\\\\")|(\\\\')|(\\\\a)|(\\\\b)|(\\\\f)|(\\\\n)|(\\\\r)|(\\\\t)|(\\\\v)"
352 | },
353 | "string": {
354 | "patterns": [
355 | {
356 | "include": "#simple_escapes"
357 | },
358 | {
359 | "include": "#escaped_char"
360 | },
361 | {
362 | "include": "#escaped_unicode_char"
363 | }
364 | ]
365 | }
366 | }
367 | }
--------------------------------------------------------------------------------
/snippets/test.json:
--------------------------------------------------------------------------------
1 | {
2 | "doctype": {
3 | "prefix": "doctype",
4 | "body": [
5 | "",
6 | "$1"
7 | ],
8 | "description": "HTML - Defines the document type",
9 | "scope": "text.html"
10 | },
11 | "a": {
12 | "prefix": "a",
13 | "body": "$2$3",
14 | "description": "HTML - Defines a hyperlink",
15 | "scope": "text.html"
16 | },
17 | "abbr": {
18 | "prefix": "abbr",
19 | "body": "$2$3",
20 | "description": "HTML - Defines an abbreviation",
21 | "scope": "text.html"
22 | },
23 | "address": {
24 | "prefix": "address",
25 | "body": [
26 | "",
27 | "$1",
28 | ""
29 | ],
30 | "description": "HTML - Defines an address element",
31 | "scope": "text.html"
32 | },
33 | "area": {
34 | "prefix": "area",
35 | "body": "$5",
36 | "description": "HTML - Defines an area inside an image map",
37 | "scope": "text.html"
38 | },
39 | "article": {
40 | "prefix": "article",
41 | "body": [
42 | "",
43 | "\t$1",
44 | ""
45 | ],
46 | "description": "HTML - Defines an article",
47 | "scope": "text.html"
48 | },
49 | "aside": {
50 | "prefix": "aside",
51 | "body": [
52 | "$2"
55 | ],
56 | "description": "HTML - Defines content aside from the page content",
57 | "scope": "text.html"
58 | },
59 | "audio": {
60 | "prefix": "audio",
61 | "body": [
62 | ""
65 | ],
66 | "description": "HTML - Defines sounds content",
67 | "scope": "text.html"
68 | },
69 | "b": {
70 | "prefix": "b",
71 | "body": "$1$2",
72 | "description": "HTML - Defines bold text",
73 | "scope": "text.html"
74 | },
75 | "base": {
76 | "prefix": "base",
77 | "body": "$3",
78 | "description": "HTML - Defines a base URL for all the links in a page",
79 | "scope": "text.html"
80 | },
81 | "bdi": {
82 | "prefix": "bdi",
83 | "body": "$1$2",
84 | "description": "HTML - Used to isolate text that is of unknown directionality",
85 | "scope": "text.html"
86 | },
87 | "bdo": {
88 | "prefix": "bdo",
89 | "body": [
90 | "",
91 | "$2",
92 | ""
93 | ],
94 | "description": "HTML - Defines the direction of text display",
95 | "scope": "text.html"
96 | },
97 | "big": {
98 | "prefix": "big",
99 | "body": "$1$2",
100 | "description": "HTML - Used to make text bigger",
101 | "scope": "text.html"
102 | },
103 | "blockquote": {
104 | "prefix": "blockquote",
105 | "body": [
106 | "",
107 | "\t$1",
108 | "
"
109 | ],
110 | "description": "HTML - Defines a long quotation",
111 | "scope": "text.html"
112 | },
113 | "body": {
114 | "prefix": "body",
115 | "body": [
116 | "",
117 | "\t$1",
118 | ""
119 | ],
120 | "description": "HTML - Defines the body element",
121 | "scope": "text.html"
122 | },
123 | "br": {
124 | "prefix": "br",
125 | "body": "
",
126 | "description": "HTML - Inserts a single line break",
127 | "scope": "text.html"
128 | },
129 | "button": {
130 | "prefix": "button",
131 | "body": "$3",
132 | "description": "HTML - Defines a push button",
133 | "scope": "text.html"
134 | },
135 | "canvas": {
136 | "prefix": "canvas",
137 | "body": "$3",
138 | "description": "HTML - Defines graphics",
139 | "scope": "text.html"
140 | },
141 | "caption": {
142 | "prefix": "caption",
143 | "body": "$1$2",
144 | "description": "HTML - Defines a table caption",
145 | "scope": "text.html"
146 | },
147 | "cite": {
148 | "prefix": "cite",
149 | "body": "$1$2",
150 | "description": "HTML - Defines a citation",
151 | "scope": "text.html"
152 | },
153 | "code": {
154 | "prefix": "code",
155 | "body": "$1$2",
156 | "description": "HTML - Defines computer code text",
157 | "scope": "text.html"
158 | },
159 | "col": {
160 | "prefix": "col",
161 | "body": "$2",
162 | "description": "HTML - Defines attributes for table columns",
163 | "scope": "text.html"
164 | },
165 | "colgroup": {
166 | "prefix": "colgroup",
167 | "body": [
168 | "",
169 | "\t$1",
170 | ""
171 | ],
172 | "description": "HTML - Defines group of table columns",
173 | "scope": "text.html"
174 | },
175 | "command": {
176 | "prefix": "command",
177 | "body": "$1$2",
178 | "description": "HTML - Defines a command button [not supported]",
179 | "scope": "text.html"
180 | },
181 | "datalist": {
182 | "prefix": "datalist",
183 | "body": [
184 | ""
187 | ],
188 | "description": "HTML - Defines a dropdown list",
189 | "scope": "text.html"
190 | },
191 | "dd": {
192 | "prefix": "dd",
193 | "body": "$1$2",
194 | "description": "HTML - Defines a definition description",
195 | "scope": "text.html"
196 | },
197 | "del": {
198 | "prefix": "del",
199 | "body": "$1$2",
200 | "description": "HTML - Defines deleted text",
201 | "scope": "text.html"
202 | },
203 | "details": {
204 | "prefix": "details",
205 | "body": [
206 | "",
207 | "\t$1",
208 | " "
209 | ],
210 | "description": "HTML - Defines details of an element",
211 | "scope": "text.html"
212 | },
213 | "dialog": {
214 | "prefix": "dialog",
215 | "body": "$2",
216 | "description": "HTML - Defines a dialog (conversation)",
217 | "scope": "text.html"
218 | },
219 | "dfn": {
220 | "prefix": "dfn",
221 | "body": "$1$2",
222 | "description": "HTML - Defines a definition term",
223 | "scope": "text.html"
224 | },
225 | "div": {
226 | "prefix": "div",
227 | "body": [
228 | "",
229 | "\t$1",
230 | "
"
231 | ],
232 | "description": "HTML - Defines a section in a document",
233 | "scope": "text.html"
234 | },
235 | "dl": {
236 | "prefix": "dl",
237 | "body": [
238 | "",
239 | "\t$1",
240 | "
"
241 | ],
242 | "description": "HTML - Defines a definition list",
243 | "scope": "text.html"
244 | },
245 | "dt": {
246 | "prefix": "dt",
247 | "body": "$1$2",
248 | "description": "HTML - Defines a definition term",
249 | "scope": "text.html"
250 | },
251 | "em": {
252 | "prefix": "em",
253 | "body": "$1$2",
254 | "description": "HTML - Defines emphasized text",
255 | "scope": "text.html"
256 | },
257 | "embed": {
258 | "prefix": "embed",
259 | "body": "