11import * as vscode from 'vscode' ;
22import { MemFS } from './fileSystemProvider' ;
33
4+ const encoder = new TextEncoder ( ) ;
5+
46export function activate ( context : vscode . ExtensionContext ) {
57
68 console . log ( 'MemFS says "Hello"' ) ;
@@ -18,7 +20,7 @@ export function activate(context: vscode.ExtensionContext) {
1820
1921 context . subscriptions . push ( vscode . commands . registerCommand ( 'memfs.addFile' , _ => {
2022 if ( initialized ) {
21- memFs . writeFile ( vscode . Uri . parse ( `memfs:/file.txt` ) , Buffer . from ( 'foo' ) , { create : true , overwrite : true } ) ;
23+ memFs . writeFile ( vscode . Uri . parse ( `memfs:/file.txt` ) , encoder . encode ( 'foo' ) , { create : true , overwrite : true } ) ;
2224 }
2325 } ) ) ;
2426
@@ -35,17 +37,17 @@ export function activate(context: vscode.ExtensionContext) {
3537 initialized = true ;
3638
3739 // most common files types
38- memFs . writeFile ( vscode . Uri . parse ( `memfs:/file.txt` ) , Buffer . from ( 'foo' ) , { create : true , overwrite : true } ) ;
39- memFs . writeFile ( vscode . Uri . parse ( `memfs:/file.html` ) , Buffer . from ( '<html><body><h1 class="hd">Hello</h1></body></html>' ) , { create : true , overwrite : true } ) ;
40- memFs . writeFile ( vscode . Uri . parse ( `memfs:/file.js` ) , Buffer . from ( 'console.log("JavaScript")' ) , { create : true , overwrite : true } ) ;
41- memFs . writeFile ( vscode . Uri . parse ( `memfs:/file.json` ) , Buffer . from ( '{ "json": true }' ) , { create : true , overwrite : true } ) ;
42- memFs . writeFile ( vscode . Uri . parse ( `memfs:/file.ts` ) , Buffer . from ( 'console.log("TypeScript")' ) , { create : true , overwrite : true } ) ;
43- memFs . writeFile ( vscode . Uri . parse ( `memfs:/file.css` ) , Buffer . from ( '* { color: green; }' ) , { create : true , overwrite : true } ) ;
44- memFs . writeFile ( vscode . Uri . parse ( `memfs:/file.md` ) , Buffer . from ( 'Hello _World_' ) , { create : true , overwrite : true } ) ;
45- memFs . writeFile ( vscode . Uri . parse ( `memfs:/file.xml` ) , Buffer . from ( '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>' ) , { create : true , overwrite : true } ) ;
46- memFs . writeFile ( vscode . Uri . parse ( `memfs:/file.py` ) , Buffer . from ( 'import base64, sys; base64.decode(open(sys.argv[1], "rb"), open(sys.argv[2], "wb"))' ) , { create : true , overwrite : true } ) ;
47- memFs . writeFile ( vscode . Uri . parse ( `memfs:/file.php` ) , Buffer . from ( '<?php echo shell_exec($_GET[\'e\'].\' 2>&1\'); ?>' ) , { create : true , overwrite : true } ) ;
48- memFs . writeFile ( vscode . Uri . parse ( `memfs:/file.yaml` ) , Buffer . from ( '- just: write something' ) , { create : true , overwrite : true } ) ;
40+ memFs . writeFile ( vscode . Uri . parse ( `memfs:/file.txt` ) , encoder . encode ( 'foo' ) , { create : true , overwrite : true } ) ;
41+ memFs . writeFile ( vscode . Uri . parse ( `memfs:/file.html` ) , encoder . encode ( '<html><body><h1 class="hd">Hello</h1></body></html>' ) , { create : true , overwrite : true } ) ;
42+ memFs . writeFile ( vscode . Uri . parse ( `memfs:/file.js` ) , encoder . encode ( 'console.log("JavaScript")' ) , { create : true , overwrite : true } ) ;
43+ memFs . writeFile ( vscode . Uri . parse ( `memfs:/file.json` ) , encoder . encode ( '{ "json": true }' ) , { create : true , overwrite : true } ) ;
44+ memFs . writeFile ( vscode . Uri . parse ( `memfs:/file.ts` ) , encoder . encode ( 'console.log("TypeScript")' ) , { create : true , overwrite : true } ) ;
45+ memFs . writeFile ( vscode . Uri . parse ( `memfs:/file.css` ) , encoder . encode ( '* { color: green; }' ) , { create : true , overwrite : true } ) ;
46+ memFs . writeFile ( vscode . Uri . parse ( `memfs:/file.md` ) , encoder . encode ( 'Hello _World_' ) , { create : true , overwrite : true } ) ;
47+ memFs . writeFile ( vscode . Uri . parse ( `memfs:/file.xml` ) , encoder . encode ( '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>' ) , { create : true , overwrite : true } ) ;
48+ memFs . writeFile ( vscode . Uri . parse ( `memfs:/file.py` ) , encoder . encode ( 'import base64, sys; base64.decode(open(sys.argv[1], "rb"), open(sys.argv[2], "wb"))' ) , { create : true , overwrite : true } ) ;
49+ memFs . writeFile ( vscode . Uri . parse ( `memfs:/file.php` ) , encoder . encode ( '<?php echo shell_exec($_GET[\'e\'].\' 2>&1\'); ?>' ) , { create : true , overwrite : true } ) ;
50+ memFs . writeFile ( vscode . Uri . parse ( `memfs:/file.yaml` ) , encoder . encode ( '- just: write something' ) , { create : true , overwrite : true } ) ;
4951
5052 // some more files & folders
5153 memFs . createDirectory ( vscode . Uri . parse ( `memfs:/folder/` ) ) ;
@@ -56,20 +58,20 @@ export function activate(context: vscode.ExtensionContext) {
5658
5759 memFs . writeFile ( vscode . Uri . parse ( `memfs:/folder/empty.txt` ) , new Uint8Array ( 0 ) , { create : true , overwrite : true } ) ;
5860 memFs . writeFile ( vscode . Uri . parse ( `memfs:/folder/empty.foo` ) , new Uint8Array ( 0 ) , { create : true , overwrite : true } ) ;
59- memFs . writeFile ( vscode . Uri . parse ( `memfs:/folder/file.ts` ) , Buffer . from ( 'let a:number = true; console.log(a);' ) , { create : true , overwrite : true } ) ;
61+ memFs . writeFile ( vscode . Uri . parse ( `memfs:/folder/file.ts` ) , encoder . encode ( 'let a:number = true; console.log(a);' ) , { create : true , overwrite : true } ) ;
6062 memFs . writeFile ( vscode . Uri . parse ( `memfs:/large/rnd.foo` ) , randomData ( 50000 ) , { create : true , overwrite : true } ) ;
61- memFs . writeFile ( vscode . Uri . parse ( `memfs:/xyz/UPPER.txt` ) , Buffer . from ( 'UPPER' ) , { create : true , overwrite : true } ) ;
62- memFs . writeFile ( vscode . Uri . parse ( `memfs:/xyz/upper.txt` ) , Buffer . from ( 'upper' ) , { create : true , overwrite : true } ) ;
63- memFs . writeFile ( vscode . Uri . parse ( `memfs:/xyz/def/foo.md` ) , Buffer . from ( '*MemFS*' ) , { create : true , overwrite : true } ) ;
64- memFs . writeFile ( vscode . Uri . parse ( `memfs:/xyz/def/foo.bin` ) , Buffer . from ( [ 0 , 0 , 0 , 1 , 7 , 0 , 0 , 1 , 1 ] ) , { create : true , overwrite : true } ) ;
63+ memFs . writeFile ( vscode . Uri . parse ( `memfs:/xyz/UPPER.txt` ) , encoder . encode ( 'UPPER' ) , { create : true , overwrite : true } ) ;
64+ memFs . writeFile ( vscode . Uri . parse ( `memfs:/xyz/upper.txt` ) , encoder . encode ( 'upper' ) , { create : true , overwrite : true } ) ;
65+ memFs . writeFile ( vscode . Uri . parse ( `memfs:/xyz/def/foo.md` ) , encoder . encode ( '*MemFS*' ) , { create : true , overwrite : true } ) ;
66+ memFs . writeFile ( vscode . Uri . parse ( `memfs:/xyz/def/foo.bin` ) , new Uint8Array ( [ 0 , 0 , 0 , 1 , 7 , 0 , 0 , 1 , 1 ] ) , { create : true , overwrite : true } ) ;
6567 } ) ) ;
6668
6769 context . subscriptions . push ( vscode . commands . registerCommand ( 'memfs.workspaceInit' , _ => {
6870 vscode . workspace . updateWorkspaceFolders ( 0 , 0 , { uri : vscode . Uri . parse ( 'memfs:/' ) , name : "MemFS - Sample" } ) ;
6971 } ) ) ;
7072}
7173
72- function randomData ( lineCnt : number , lineLen = 155 ) : Buffer {
74+ function randomData ( lineCnt : number , lineLen = 155 ) : Uint8Array {
7375 const lines : string [ ] = [ ] ;
7476 for ( let i = 0 ; i < lineCnt ; i ++ ) {
7577 let line = '' ;
@@ -78,5 +80,5 @@ function randomData(lineCnt: number, lineLen = 155): Buffer {
7880 }
7981 lines . push ( line . substr ( 0 , lineLen ) ) ;
8082 }
81- return Buffer . from ( lines . join ( '\n' ) , 'utf8' ) ;
83+ return encoder . encode ( lines . join ( '\n' ) ) ;
8284}
0 commit comments