From 40fbd7bacba46c5dd3a9017a4deaa66bd88590e1 Mon Sep 17 00:00:00 2001 From: octod Date: Thu, 7 Sep 2017 21:02:45 +0200 Subject: [PATCH 1/3] chore: drafts in-app changelog viewer. --- extensions/defaults.json | 4 +++ extensions/helpers/changelog.ts | 39 +++++++++++++++++++++++++++++ extensions/interfaces/idefaults.ts | 6 +++++ extensions/material.theme.config.ts | 5 ++++ 4 files changed, 54 insertions(+) create mode 100644 extensions/helpers/changelog.ts diff --git a/extensions/defaults.json b/extensions/defaults.json index 5abd0c1..a65b07f 100644 --- a/extensions/defaults.json +++ b/extensions/defaults.json @@ -17,6 +17,10 @@ "Teal": "#80CBC4", "Yellow": "#FFA000" }, + "changelog": { + "lastversion": "", + "stopShowingChangelog": false + }, "icons": { "theme": { "iconDefinitions": { diff --git a/extensions/helpers/changelog.ts b/extensions/helpers/changelog.ts new file mode 100644 index 0000000..6608923 --- /dev/null +++ b/extensions/helpers/changelog.ts @@ -0,0 +1,39 @@ +import * as path from 'path'; + +import { getDefaultValues, getPackageJSON, writeFile } from "./fs"; +import { PATHS } from "../consts/paths"; + + +function splitVersion(input: string): { major: number, minor: number, patch: number } { + let [ major, minor, patch ] = input.split('.').map(i => parseInt(i)); + return { major, minor, patch }; +} + +export function showChangelog(): void { + +} + +export function shouldShowChangelog(): boolean { + let defaults = getDefaultValues(); + let out: boolean; + let packageJSON = getPackageJSON(); + + if (defaults.changelog == undefined || (defaults.changelog !== undefined && typeof defaults.changelog.lastversion !== 'string')) { + defaults.changelog = { + lastversion: packageJSON.version, + stopShowingChangelog: false + } + out = true; + } else { + let versionCurrent = splitVersion(packageJSON.version); + let versionOld = splitVersion(defaults.changelog.lastversion); + + out = versionCurrent.major !== versionOld.major || versionCurrent.minor !== versionOld.minor || versionCurrent.patch !== versionOld.patch; + + defaults.changelog.lastversion = packageJSON.version; + } + + writeFile(path.join(PATHS.VSIX_DIR, './extensions/defaults.json'), JSON.stringify(defaults, null, 2)); + + return out; +} \ No newline at end of file diff --git a/extensions/interfaces/idefaults.ts b/extensions/interfaces/idefaults.ts index 87826cf..9b6b29e 100644 --- a/extensions/interfaces/idefaults.ts +++ b/extensions/interfaces/idefaults.ts @@ -1,5 +1,6 @@ export interface IDefaults { accents: IAccents; + changelog: IChangelog; icons: IDefaultsThemeIcons; themeVariants: IDefaultsThemeVariant; themeVariantsColours: IDefaultsThemeVariantColours; @@ -11,6 +12,11 @@ export interface IAccents { [index: string]: string; } +export interface IChangelog { + lastversion: string; + stopShowingChangelog: boolean; +} + export interface IDefaultsThemeIcons { theme: { iconDefinitions: { diff --git a/extensions/material.theme.config.ts b/extensions/material.theme.config.ts index db511b3..44d9124 100644 --- a/extensions/material.theme.config.ts +++ b/extensions/material.theme.config.ts @@ -3,6 +3,7 @@ import * as vscode from 'vscode'; import { IGenericObject } from "./interfaces/igeneric-object"; import { THEME_ACCENTS_SETTER } from "./commands/accents-setter/index"; import { THEME_VARIANT } from "./commands/theme-variant/index"; +import { shouldShowChangelog, showChangelog } from './helpers/changelog'; enum Commands { ACCENTS, @@ -19,6 +20,10 @@ export function activate(context: vscode.ExtensionContext) { vscode.workspace.getConfiguration().update('materialTheme.cache.workbench.accent', undefined, true); } + if (shouldShowChangelog()) { + showChangelog(); + } + // registering the command let command = vscode.commands.registerCommand('material.theme.config', () => { // the user is going to choose what aspect of theme to config From 0b42ddfe758a59a003ba29b494d3cdb8455476cf Mon Sep 17 00:00:00 2001 From: octod Date: Fri, 8 Sep 2017 10:16:16 +0200 Subject: [PATCH 2/3] chore: changelog preview should be ok. --- extensions/defaults.json | 3 +-- extensions/helpers/changelog.ts | 32 +++++++++++++++++++++++++----- extensions/interfaces/idefaults.ts | 1 - themes/Material-Theme-Icons.json | 2 +- 4 files changed, 29 insertions(+), 9 deletions(-) diff --git a/extensions/defaults.json b/extensions/defaults.json index a65b07f..66923db 100644 --- a/extensions/defaults.json +++ b/extensions/defaults.json @@ -18,8 +18,7 @@ "Yellow": "#FFA000" }, "changelog": { - "lastversion": "", - "stopShowingChangelog": false + "lastversion": "1.0.2" }, "icons": { "theme": { diff --git a/extensions/helpers/changelog.ts b/extensions/helpers/changelog.ts index 6608923..a3221ea 100644 --- a/extensions/helpers/changelog.ts +++ b/extensions/helpers/changelog.ts @@ -1,8 +1,15 @@ import * as path from 'path'; +import * as vscode from 'vscode'; import { getDefaultValues, getPackageJSON, writeFile } from "./fs"; -import { PATHS } from "../consts/paths"; +import { PATHS } from '../consts/paths'; +function previewFile(): void { + let uri = vscode.Uri.parse(path.join('file:///', PATHS.VSIX_DIR, './CHANGELOG.md')); + + vscode.commands.executeCommand('markdown.showPreview', uri); + +} function splitVersion(input: string): { major: number, minor: number, patch: number } { let [ major, minor, patch ] = input.split('.').map(i => parseInt(i)); @@ -10,7 +17,23 @@ function splitVersion(input: string): { major: number, minor: number, patch: num } export function showChangelog(): void { + let extname: string = 'Microsoft.vscode-markdown'; + let md = vscode.extensions.getExtension(extname); + if (md === undefined) { + console.warn(`Ext not found ${ extname }`) + return; + } + + if (md.isActive) { + previewFile(); + } else { + md.activate().then(() => { + previewFile(); + }, reason => { + console.warn(reason); + }); + } } export function shouldShowChangelog(): boolean { @@ -20,20 +43,19 @@ export function shouldShowChangelog(): boolean { if (defaults.changelog == undefined || (defaults.changelog !== undefined && typeof defaults.changelog.lastversion !== 'string')) { defaults.changelog = { - lastversion: packageJSON.version, - stopShowingChangelog: false + lastversion: packageJSON.version } out = true; } else { let versionCurrent = splitVersion(packageJSON.version); let versionOld = splitVersion(defaults.changelog.lastversion); - out = versionCurrent.major !== versionOld.major || versionCurrent.minor !== versionOld.minor || versionCurrent.patch !== versionOld.patch; + out = versionCurrent.major > versionOld.major || versionCurrent.minor > versionOld.minor || versionCurrent.patch > versionOld.patch; defaults.changelog.lastversion = packageJSON.version; } - writeFile(path.join(PATHS.VSIX_DIR, './extensions/defaults.json'), JSON.stringify(defaults, null, 2)); + writeFile(path.join('./extensions/defaults.json'), JSON.stringify(defaults, null, 2)); return out; } \ No newline at end of file diff --git a/extensions/interfaces/idefaults.ts b/extensions/interfaces/idefaults.ts index 9b6b29e..64aee31 100644 --- a/extensions/interfaces/idefaults.ts +++ b/extensions/interfaces/idefaults.ts @@ -14,7 +14,6 @@ export interface IAccents { export interface IChangelog { lastversion: string; - stopShowingChangelog: boolean; } export interface IDefaultsThemeIcons { diff --git a/themes/Material-Theme-Icons.json b/themes/Material-Theme-Icons.json index 1d6587f..3294cfd 100644 --- a/themes/Material-Theme-Icons.json +++ b/themes/Material-Theme-Icons.json @@ -1 +1 @@ -{"iconDefinitions":{"_folder_dark":{"iconPath":"../icons/folder.svg"},"_folder_dark_build":{"iconPath":"../icons/folder-build.svg"},"_folder_light":{"iconPath":"../icons/folder-light.svg"},"_folder_light_build":{"iconPath":"../icons/folder-light-build.svg"},"_folder_open":{"iconPath":"../icons/folder-outline.svg"},"_folder_open_build":{"iconPath":"../icons/folder-outline-build.svg"},"_file_dark":{"iconPath":"../icons/file.svg"},"_file_.DS_Store":{"iconPath":"../icons/.DS_Store.svg"},"_file_actionscript":{"iconPath":"../icons/actionscript.svg"},"_file_ai":{"iconPath":"../icons/ai.svg"},"_file_android":{"iconPath":"../icons/android.svg"},"_file_angular":{"iconPath":"../icons/angular.svg"},"_file_applescript":{"iconPath":"../icons/applescript.svg"},"_file_arduino":{"iconPath":"../icons/arduino.svg"},"_file_assembly":{"iconPath":"../icons/assembly.svg"},"_file_autohotkey":{"iconPath":"../icons/autohotkey.svg"},"_file_bower":{"iconPath":"../icons/bower.svg"},"_file_c":{"iconPath":"../icons/c.svg"},"_file_certificate":{"iconPath":"../icons/certificate.svg"},"_file_changelog":{"iconPath":"../icons/changelog.svg"},"_file_clojure":{"iconPath":"../icons/clojure.svg"},"_file_cmake":{"iconPath":"../icons/cmake.svg"},"_file_cmd":{"iconPath":"../icons/cmd.svg"},"_file_coffee":{"iconPath":"../icons/coffee.svg"},"_file_console":{"iconPath":"../icons/console.svg"},"_file_contributing":{"iconPath":"../icons/contributing.svg"},"_file_cpp":{"iconPath":"../icons/cpp.svg"},"_file_credits":{"iconPath":"../icons/credits.svg"},"_file_csharp":{"iconPath":"../icons/csharp.svg"},"_file_css-map":{"iconPath":"../icons/css-map.svg"},"_file_css":{"iconPath":"../icons/css.svg"},"_file_dart":{"iconPath":"../icons/dart.svg"},"_file_database":{"iconPath":"../icons/database.svg"},"_file_dlang":{"iconPath":"../icons/dlang.svg"},"_file_docker":{"iconPath":"../icons/docker.svg"},"_file_document":{"iconPath":"../icons/document.svg"},"_file_email":{"iconPath":"../icons/email.svg"},"_file_eslint":{"iconPath":"../icons/eslint.svg"},"_file_ex":{"iconPath":"../icons/ex.svg"},"_file_exe":{"iconPath":"../icons/exe.svg"},"_file_favicon":{"iconPath":"../icons/favicon.svg"},"_file_file":{"iconPath":"../icons/file.svg"},"_file_flash":{"iconPath":"../icons/flash.svg"},"_file_flow":{"iconPath":"../icons/flow.svg"},"_file_folder-build":{"iconPath":"../icons/folder-build.svg"},"_file_folder-light-build":{"iconPath":"../icons/folder-light-build.svg"},"_file_folder-light":{"iconPath":"../icons/folder-light.svg"},"_file_folder-outline-build":{"iconPath":"../icons/folder-outline-build.svg"},"_file_folder-outline":{"iconPath":"../icons/folder-outline.svg"},"_file_folder":{"iconPath":"../icons/folder.svg"},"_file_font":{"iconPath":"../icons/font.svg"},"_file_fsharp":{"iconPath":"../icons/fsharp.svg"},"_file_git":{"iconPath":"../icons/git.svg"},"_file_github":{"iconPath":"../icons/github.svg"},"_file_go":{"iconPath":"../icons/go.svg"},"_file_gopher":{"iconPath":"../icons/gopher.svg"},"_file_gradle":{"iconPath":"../icons/gradle.svg"},"_file_graphql":{"iconPath":"../icons/graphql.svg"},"_file_groovy":{"iconPath":"../icons/groovy.svg"},"_file_grunt":{"iconPath":"../icons/grunt.svg"},"_file_gulp":{"iconPath":"../icons/gulp.svg"},"_file_haml":{"iconPath":"../icons/haml.svg"},"_file_haskell":{"iconPath":"../icons/haskell.svg"},"_file_html":{"iconPath":"../icons/html.svg"},"_file_image":{"iconPath":"../icons/image.svg"},"_file_ionic":{"iconPath":"../icons/ionic.svg"},"_file_java":{"iconPath":"../icons/java.svg"},"_file_javascript-map":{"iconPath":"../icons/javascript-map.svg"},"_file_js":{"iconPath":"../icons/js.svg"},"_file_json":{"iconPath":"../icons/json.svg"},"_file_key":{"iconPath":"../icons/key.svg"},"_file_kotlin":{"iconPath":"../icons/kotlin.svg"},"_file_less":{"iconPath":"../icons/less.svg"},"_file_lib":{"iconPath":"../icons/lib.svg"},"_file_license":{"iconPath":"../icons/license.svg"},"_file_lua":{"iconPath":"../icons/lua.svg"},"_file_markdown":{"iconPath":"../icons/markdown.svg"},"_file_markup":{"iconPath":"../icons/markup.svg"},"_file_movie":{"iconPath":"../icons/movie.svg"},"_file_music":{"iconPath":"../icons/music.svg"},"_file_mustache":{"iconPath":"../icons/mustache.svg"},"_file_mxml":{"iconPath":"../icons/mxml.svg"},"_file_nodejs":{"iconPath":"../icons/nodejs.svg"},"_file_npm":{"iconPath":"../icons/npm.svg"},"_file_ocaml":{"iconPath":"../icons/ocaml.svg"},"_file_pdf":{"iconPath":"../icons/pdf.svg"},"_file_php":{"iconPath":"../icons/php.svg"},"_file_polymer":{"iconPath":"../icons/polymer.svg"},"_file_postcss":{"iconPath":"../icons/postcss.svg"},"_file_powerpoint":{"iconPath":"../icons/powerpoint.svg"},"_file_pp":{"iconPath":"../icons/pp.svg"},"_file_procfile":{"iconPath":"../icons/procfile.svg"},"_file_pug":{"iconPath":"../icons/pug.svg"},"_file_python":{"iconPath":"../icons/python.svg"},"_file_r":{"iconPath":"../icons/r.svg"},"_file_rails":{"iconPath":"../icons/rails.svg"},"_file_raml":{"iconPath":"../icons/raml.svg"},"_file_react":{"iconPath":"../icons/react.svg"},"_file_readme":{"iconPath":"../icons/readme.svg"},"_file_ruby":{"iconPath":"../icons/ruby.svg"},"_file_rust":{"iconPath":"../icons/rust.svg"},"_file_sass":{"iconPath":"../icons/sass.svg"},"_file_settings":{"iconPath":"../icons/settings.svg"},"_file_sketch":{"iconPath":"../icons/sketch.svg"},"_file_star":{"iconPath":"../icons/star.svg"},"_file_stylelint":{"iconPath":"../icons/stylelint.svg"},"_file_stylus":{"iconPath":"../icons/stylus.svg"},"_file_sublime":{"iconPath":"../icons/sublime.svg"},"_file_svg":{"iconPath":"../icons/svg.svg"},"_file_swc":{"iconPath":"../icons/swc.svg"},"_file_swift":{"iconPath":"../icons/swift.svg"},"_file_swig":{"iconPath":"../icons/swig.svg"},"_file_table":{"iconPath":"../icons/table.svg"},"_file_tex":{"iconPath":"../icons/tex.svg"},"_file_todo":{"iconPath":"../icons/todo.svg"},"_file_tune":{"iconPath":"../icons/tune.svg"},"_file_twig":{"iconPath":"../icons/twig.svg"},"_file_typescript":{"iconPath":"../icons/typescript.svg"},"_file_typescript_def":{"iconPath":"../icons/typescript_def.svg"},"_file_url":{"iconPath":"../icons/url.svg"},"_file_virtual":{"iconPath":"../icons/virtual.svg"},"_file_visualstudio":{"iconPath":"../icons/visualstudio.svg"},"_file_vue":{"iconPath":"../icons/vue.svg"},"_file_webpack":{"iconPath":"../icons/webpack.svg"},"_file_word":{"iconPath":"../icons/word.svg"},"_file_xaml":{"iconPath":"../icons/xaml.svg"},"_file_xml":{"iconPath":"../icons/xml.svg"},"_file_yaml":{"iconPath":"../icons/yaml.svg"},"_file_yarn":{"iconPath":"../icons/yarn.svg"},"_file_zip":{"iconPath":"../icons/zip.svg"}},"fileExtensions":{"cmd":"_file_cmd","mustache":"_file_mustache","rails":"_file_rails","styl":"_file_stylus","twig":"_file_twig","swig":"_file_swig","sketch":"_file_sketch","do":"_file_todo","sublime-settings":"_file_sublime","sublime-theme":"_file_sublime","sublime-commands":"_file_sublime","sublime-menu":"_file_sublime","html":"_file_html","jade":"_file_pug","pug":"_file_pug","md":"_file_markdown","md.rendered":"_file_markdown","markdown":"_file_markdown","markdown.rendered":"_file_markdown","css":"_file_css","postcss":"_file_postcss","scss":"_file_sass","sass":"_file_sass","less":"_file_less","json":"_file_json","yaml":"_file_yaml","YAML-tmLanguage":"_file_yaml","yml":"_file_yaml","xml":"_file_xml","plist":"_file_xml","xsd":"_file_xml","dtd":"_file_xml","xsl":"_file_xml","xslt":"_file_xml","resx":"_file_xml","iml":"_file_xml","xquery":"_file_xml","tmLanguage":"_file_xml","png":"_file_image","jpeg":"_file_image","jpg":"_file_image","gif":"_file_image","svg":"_file_svg","eps":"_file_svg","ai":"_file_ai","ico":"_file_image","tif":"_file_image","tiff":"_file_image","psd":"_file_image","psb":"_file_image","ami":"_file_image","apx":"_file_image","bmp":"_file_image","bpg":"_file_image","brk":"_file_image","cur":"_file_image","dds":"_file_image","dng":"_file_image","exr":"_file_image","fpx":"_file_image","gbr":"_file_image","img":"_file_image","jbig2":"_file_image","jb2":"_file_image","jng":"_file_image","jxr":"_file_image","pbm":"_file_image","pgf":"_file_image","pic":"_file_image","raw":"_file_image","webp":"_file_image","php":"_file_php","js":"_file_js","ejs":"_file_js","jsx":"_file_react","ini":"_file_settings","dlc":"_file_settings","dll":"_file_settings","config":"_file_settings","conf":"_file_settings","esx":"_file_js","ts":"_file_typescript","tsx":"_file_react","d.ts":"_file_typescript_def","pdf":"_file_pdf","xlsx":"_file_table","xls":"_file_table","csv":"_file_table","vscodeignore":"_file_vs","vsixmanifest":"_file_vs","suo":"_file_vs","sln":"_file_vs","pdb":"_file_database","cs":"_file_csharp","csx":"_file_csharp","csproj":"_file_vs","zip":"_file_zip","tar":"_file_zip","gz":"_file_zip","xz":"_file_zip","bzip2":"_file_zip","gzip":"_file_zip","7z":"_file_zip","7zip":"_file_zip","pzip":"_file_zip","wim":"_file_zip","rar":"_file_zip","tgz":"_file_zip","exe":"_file_exe","msi":"_file_exe","java":"_file_java","jar":"_file_java","jsp":"_file_java","c":"_file_c","h":"_file_c","m":"_file_c","cc":"_file_cpp","cpp":"_file_cpp","c++":"_file_cpp","hpp":"_file_cpp","mm":"_file_cpp","cxx":"_file_cpp","go":"_file_go","py":"_file_python","url":"_file_url","sh":"_file_console","bat":"_file_console","ps1":"_file_console","fish":"_file_console","bash":"_file_console","gradle":"_file_gradle","doc":"_file_word","docx":"_file_word","rtf":"_file_word","properties":"_file_settings","prop":"_file_settings","settings":"_file_settings","sql":"_file_database","accdb":"_file_database","mdb":"_file_database","cer":"_file_certificate","cert":"_file_certificate","crt":"_file_certificate","pub":"_file_key","key":"_file_key","pem":"_file_key","asc":"_file_key","woff":"_file_font","woff2":"_file_font","ttf":"_file_font","eot":"_file_font","suit":"_file_font","otf":"_file_font","bmap":"_file_font","fnt":"_file_font","odttf":"_file_font","ttc":"_file_font","font":"_file_font","fonts":"_file_font","sui":"_file_font","ntf":"_file_font","mrf":"_file_font","lib":"_file_lib","rb":"_file_ruby","erb":"_file_ruby","fs":"_file_fsharp","fsx":"_file_fsharp","fsi":"_file_fsharp","fsproj":"_file_fsharp","manifest":"_file_xml","swift":"_file_swift","ino":"_file_arduino","dockerignore":"_file_docker","tex":"_file_tex","bib":"_file_lib","pptx":"_file_powerpoint","ppt":"_file_powerpoint","pptm":"_file_powerpoint","potx":"_file_powerpoint","pot":"_file_powerpoint","potm":"_file_powerpoint","ppsx":"_file_powerpoint","ppsm":"_file_powerpoint","pps":"_file_powerpoint","ppam":"_file_powerpoint","ppa":"_file_powerpoint","webm":"_file_movie","mkv":"_file_movie","flv":"_file_movie","vob":"_file_movie","ogv":"_file_movie","ogg":"_file_movie","gifv":"_file_movie","avi":"_file_movie","mov":"_file_movie","qt":"_file_movie","wmv":"_file_movie","yuv":"_file_movie","rm":"_file_movie","rmvb":"_file_movie","mp4":"_file_movie","m4v":"_file_movie","mpg":"_file_movie","mp2":"_file_movie","mpeg":"_file_movie","mpe":"_file_movie","mpv":"_file_movie","m2v":"_file_movie","vdi":"_file_virtual","vbox":"_file_virtual","vbox-prev":"_file_virtual","ics":"_file_email","mp3":"_file_music","flac":"_file_music","m4a":"_file_music","wma":"_file_music","aiff":"_file_music","coffee":"_file_coffee","txt":"_file_document","sqlite":"_file_database","graphql":"_file_graphql","gql":"_file_graphql","props":"_file_settings","toml":"_file_settings","rs":"_file_rust","raml":"_file_raml","xaml":"_file_xaml","prefs":"_file_settings","hs":"_file_haskell","kt":"_file_kotlin","project":"_file_xml","patch":"_file_git","dockerfile":"_file_docker","vb":"_file_vs","lua":"_file_lua","clj":"_file_clojure","groovy":"_file_groovy","r":"_file_r","rst":"_file_markdown","dart":"_file_dart","as":"_file_actionscript","mxml":"_file_mxml","ahk":"_file_autohotkey","swf":"_file_flash","swc":"_file_swc","cmake":"_file_cmake","asm":"_file_assembly","a51":"_file_assembly","inc":"_file_assembly","nasm":"_file_assembly","s":"_file_assembly","ms":"_file_assembly","agc":"_file_assembly","ags":"_file_assembly","aea":"_file_assembly","argus":"_file_assembly","mitigus":"_file_assembly","binsource":"_file_assembly","vue":"_file_vue","ml":"_file_ocaml","mli":"_file_ocaml","cmx":"_file_ocaml","js.map":"_file_jsmap","css.map":"_file_cssmap","tmTheme":"_file_markup","pp":"_file_pp","applescript":"_file_applescript","haml":"_file_haml","ex":"_file_ex","exs":"_file_ex"},"fileNames":{"gruntfile.js":"_file_grunt","bower.json":"_file_bower",".bowerrc":"_file_bower","webpack.js":"_file_webpack","webpack.config.js":"_file_webpack","webpack.dev.js":"_file_webpack","webpack.prod.js":"_file_webpack","webpack.common.js":"_file_webpack","webpackfile.js":"_file_webpack","ionic.config.json":"_file_ionic",".io-config.json":"_file_ionic","gulpfile.js":"_file_gulp","gulpfile.babel.js":"_file_gulp","package.json":"_file_npm","gradle.properties":"_file_gradle","gradlew":"_file_gradle",".jscsrc":"_file_json",".jshintrc":"_file_json",".jshintignore":"_file_settings",".npmignore":"_file_npm","tsconfig.json":"_file_json","tslint.json":"_file_json","androidmanifest.xml":"_file_android","gradle-wrapper.properties":"_file_gradle",".editorconfig":"_file_settings","procfile":"_file_procfile",".env":"_file_tune","dockerfile":"_file_docker","license":"_file_license","license.md":"_file_license","license.md.rendered":"_file_license","license.txt":"_file_license",".babelrc":"_file_json",".eslintrc":"_file_eslint",".eslintrc.js":"_file_eslint",".eslintrc.json":"_file_eslint",".eslintrc.yml":"_file_eslint",".stylelintrc":"_file_stylelint",".stylelint.js":"_file_stylelint",".stylelintrc.json":"_file_stylelint",".stylelintrc.yml":"_file_stylelint",".buildignore":"_file_settings",".htaccess":"_file_xml","composer.lock":"_file_json",".gitignore":"_file_git",".gitconfig":"_file_git",".gitattributes":"_file_git",".gitmodules":"_file_git",".gitkeep":"_file_git","yarn.lock":"_file_yarn",".yarnclean":"_file_yarn",".yarn-integrity":"_file_yarn","yarn-error.log":"_file_yarn","contributing.md":"_file_contributing","contributing.md.rendered":"_file_contributing","readme.md":"_file_readme","readme.md.rendered":"_file_readme",".mailmap":"_file_email","makefile":"_file_settings","changelog":"_file_changelog","changelog.md":"_file_changelog","changelog.md.rendered":"_file_changelog","CREDITS":"_file_credits","credits.txt":"_file_credits","credits.md":"_file_credits","credits.md.rendered":"_file_credits",".flowconfig":"_file_flow",".jsbeautifyrc":"_file_json","git-history":"_file_git","angular-cli.json":"_file_angular","app.module.ts":"_file_angular","favicon.ico":"_file_favicon"},"file":"_file_dark","folder":"_folder_dark","folderExpanded":"_folder_open","languageIds":{"git":"_file_git"},"light":{"folderExpanded":"_folder_open","folder":"_folder_light","folderNames":{"node_modules":"_file_nodejs",".git":"_file_git",".github":"_file_github",".gulp":"_file_gulp","bower_components":"_file_bower","build":"_folder_light_build","dist":"_folder_light_build"},"folderNamesExpanded":{"node_modules":"_file_nodejs",".git":"_file_git",".github":"_file_github",".gulp":"_file_gulp","bower_components":"_file_bower","build":"_folder_light_build","dist":"_folder_light_build"}},"folderNames":{"node_modules":"_file_nodejs",".git":"_file_git",".github":"_file_github",".gulp":"_file_gulp","bower_components":"_file_bower","build":"_folder_dark_build","dist":"_folder_dark_build"},"folderNamesExpanded":{"node_modules":"_file_nodejs",".git":"_file_git",".github":"_file_github",".gulp":"_file_gulp","bower_components":"_file_bower","build":"_folder_open_build","dist":"_folder_open_build"}} +{"iconDefinitions":{"_folder_dark":{"iconPath":"../icons/folder.svg"},"_folder_dark_build":{"iconPath":"../icons/folder-build.svg"},"_folder_light":{"iconPath":"../icons/folder-light.svg"},"_folder_light_build":{"iconPath":"../icons/folder-light-build.svg"},"_folder_open":{"iconPath":"../icons/folder-outline.svg"},"_folder_open_build":{"iconPath":"../icons/folder-outline-build.svg"},"_file_dark":{"iconPath":"../icons/file.svg"},"_file_actionscript":{"iconPath":"../icons/actionscript.svg"},"_file_ai":{"iconPath":"../icons/ai.svg"},"_file_android":{"iconPath":"../icons/android.svg"},"_file_angular":{"iconPath":"../icons/angular.svg"},"_file_applescript":{"iconPath":"../icons/applescript.svg"},"_file_arduino":{"iconPath":"../icons/arduino.svg"},"_file_assembly":{"iconPath":"../icons/assembly.svg"},"_file_autohotkey":{"iconPath":"../icons/autohotkey.svg"},"_file_bower":{"iconPath":"../icons/bower.svg"},"_file_c":{"iconPath":"../icons/c.svg"},"_file_certificate":{"iconPath":"../icons/certificate.svg"},"_file_changelog":{"iconPath":"../icons/changelog.svg"},"_file_clojure":{"iconPath":"../icons/clojure.svg"},"_file_cmake":{"iconPath":"../icons/cmake.svg"},"_file_cmd":{"iconPath":"../icons/cmd.svg"},"_file_coffee":{"iconPath":"../icons/coffee.svg"},"_file_console":{"iconPath":"../icons/console.svg"},"_file_contributing":{"iconPath":"../icons/contributing.svg"},"_file_cpp":{"iconPath":"../icons/cpp.svg"},"_file_credits":{"iconPath":"../icons/credits.svg"},"_file_csharp":{"iconPath":"../icons/csharp.svg"},"_file_css-map":{"iconPath":"../icons/css-map.svg"},"_file_css":{"iconPath":"../icons/css.svg"},"_file_dart":{"iconPath":"../icons/dart.svg"},"_file_database":{"iconPath":"../icons/database.svg"},"_file_dlang":{"iconPath":"../icons/dlang.svg"},"_file_docker":{"iconPath":"../icons/docker.svg"},"_file_document":{"iconPath":"../icons/document.svg"},"_file_email":{"iconPath":"../icons/email.svg"},"_file_eslint":{"iconPath":"../icons/eslint.svg"},"_file_ex":{"iconPath":"../icons/ex.svg"},"_file_exe":{"iconPath":"../icons/exe.svg"},"_file_favicon":{"iconPath":"../icons/favicon.svg"},"_file_file":{"iconPath":"../icons/file.svg"},"_file_flash":{"iconPath":"../icons/flash.svg"},"_file_flow":{"iconPath":"../icons/flow.svg"},"_file_folder-build":{"iconPath":"../icons/folder-build.svg"},"_file_folder-light-build":{"iconPath":"../icons/folder-light-build.svg"},"_file_folder-light":{"iconPath":"../icons/folder-light.svg"},"_file_folder-outline-build":{"iconPath":"../icons/folder-outline-build.svg"},"_file_folder-outline":{"iconPath":"../icons/folder-outline.svg"},"_file_folder":{"iconPath":"../icons/folder.svg"},"_file_font":{"iconPath":"../icons/font.svg"},"_file_fsharp":{"iconPath":"../icons/fsharp.svg"},"_file_git":{"iconPath":"../icons/git.svg"},"_file_github":{"iconPath":"../icons/github.svg"},"_file_go":{"iconPath":"../icons/go.svg"},"_file_gopher":{"iconPath":"../icons/gopher.svg"},"_file_gradle":{"iconPath":"../icons/gradle.svg"},"_file_graphql":{"iconPath":"../icons/graphql.svg"},"_file_groovy":{"iconPath":"../icons/groovy.svg"},"_file_grunt":{"iconPath":"../icons/grunt.svg"},"_file_gulp":{"iconPath":"../icons/gulp.svg"},"_file_haml":{"iconPath":"../icons/haml.svg"},"_file_haskell":{"iconPath":"../icons/haskell.svg"},"_file_html":{"iconPath":"../icons/html.svg"},"_file_image":{"iconPath":"../icons/image.svg"},"_file_ionic":{"iconPath":"../icons/ionic.svg"},"_file_java":{"iconPath":"../icons/java.svg"},"_file_javascript-map":{"iconPath":"../icons/javascript-map.svg"},"_file_js":{"iconPath":"../icons/js.svg"},"_file_json":{"iconPath":"../icons/json.svg"},"_file_key":{"iconPath":"../icons/key.svg"},"_file_kotlin":{"iconPath":"../icons/kotlin.svg"},"_file_less":{"iconPath":"../icons/less.svg"},"_file_lib":{"iconPath":"../icons/lib.svg"},"_file_license":{"iconPath":"../icons/license.svg"},"_file_lua":{"iconPath":"../icons/lua.svg"},"_file_markdown":{"iconPath":"../icons/markdown.svg"},"_file_markup":{"iconPath":"../icons/markup.svg"},"_file_movie":{"iconPath":"../icons/movie.svg"},"_file_music":{"iconPath":"../icons/music.svg"},"_file_mustache":{"iconPath":"../icons/mustache.svg"},"_file_mxml":{"iconPath":"../icons/mxml.svg"},"_file_nodejs":{"iconPath":"../icons/nodejs.svg"},"_file_npm":{"iconPath":"../icons/npm.svg"},"_file_ocaml":{"iconPath":"../icons/ocaml.svg"},"_file_pdf":{"iconPath":"../icons/pdf.svg"},"_file_php":{"iconPath":"../icons/php.svg"},"_file_polymer":{"iconPath":"../icons/polymer.svg"},"_file_postcss":{"iconPath":"../icons/postcss.svg"},"_file_powerpoint":{"iconPath":"../icons/powerpoint.svg"},"_file_pp":{"iconPath":"../icons/pp.svg"},"_file_procfile":{"iconPath":"../icons/procfile.svg"},"_file_pug":{"iconPath":"../icons/pug.svg"},"_file_python":{"iconPath":"../icons/python.svg"},"_file_r":{"iconPath":"../icons/r.svg"},"_file_rails":{"iconPath":"../icons/rails.svg"},"_file_raml":{"iconPath":"../icons/raml.svg"},"_file_react":{"iconPath":"../icons/react.svg"},"_file_readme":{"iconPath":"../icons/readme.svg"},"_file_ruby":{"iconPath":"../icons/ruby.svg"},"_file_rust":{"iconPath":"../icons/rust.svg"},"_file_sass":{"iconPath":"../icons/sass.svg"},"_file_settings":{"iconPath":"../icons/settings.svg"},"_file_sketch":{"iconPath":"../icons/sketch.svg"},"_file_star":{"iconPath":"../icons/star.svg"},"_file_stylelint":{"iconPath":"../icons/stylelint.svg"},"_file_stylus":{"iconPath":"../icons/stylus.svg"},"_file_sublime":{"iconPath":"../icons/sublime.svg"},"_file_svg":{"iconPath":"../icons/svg.svg"},"_file_swc":{"iconPath":"../icons/swc.svg"},"_file_swift":{"iconPath":"../icons/swift.svg"},"_file_swig":{"iconPath":"../icons/swig.svg"},"_file_table":{"iconPath":"../icons/table.svg"},"_file_tex":{"iconPath":"../icons/tex.svg"},"_file_todo":{"iconPath":"../icons/todo.svg"},"_file_tune":{"iconPath":"../icons/tune.svg"},"_file_twig":{"iconPath":"../icons/twig.svg"},"_file_typescript":{"iconPath":"../icons/typescript.svg"},"_file_typescript_def":{"iconPath":"../icons/typescript_def.svg"},"_file_url":{"iconPath":"../icons/url.svg"},"_file_virtual":{"iconPath":"../icons/virtual.svg"},"_file_visualstudio":{"iconPath":"../icons/visualstudio.svg"},"_file_vue":{"iconPath":"../icons/vue.svg"},"_file_webpack":{"iconPath":"../icons/webpack.svg"},"_file_word":{"iconPath":"../icons/word.svg"},"_file_xaml":{"iconPath":"../icons/xaml.svg"},"_file_xml":{"iconPath":"../icons/xml.svg"},"_file_yaml":{"iconPath":"../icons/yaml.svg"},"_file_yarn":{"iconPath":"../icons/yarn.svg"},"_file_zip":{"iconPath":"../icons/zip.svg"}},"fileExtensions":{"cmd":"_file_cmd","mustache":"_file_mustache","rails":"_file_rails","styl":"_file_stylus","twig":"_file_twig","swig":"_file_swig","sketch":"_file_sketch","do":"_file_todo","sublime-settings":"_file_sublime","sublime-theme":"_file_sublime","sublime-commands":"_file_sublime","sublime-menu":"_file_sublime","html":"_file_html","jade":"_file_pug","pug":"_file_pug","md":"_file_markdown","md.rendered":"_file_markdown","markdown":"_file_markdown","markdown.rendered":"_file_markdown","css":"_file_css","postcss":"_file_postcss","scss":"_file_sass","sass":"_file_sass","less":"_file_less","json":"_file_json","yaml":"_file_yaml","YAML-tmLanguage":"_file_yaml","yml":"_file_yaml","xml":"_file_xml","plist":"_file_xml","xsd":"_file_xml","dtd":"_file_xml","xsl":"_file_xml","xslt":"_file_xml","resx":"_file_xml","iml":"_file_xml","xquery":"_file_xml","tmLanguage":"_file_xml","png":"_file_image","jpeg":"_file_image","jpg":"_file_image","gif":"_file_image","svg":"_file_svg","eps":"_file_svg","ai":"_file_ai","ico":"_file_image","tif":"_file_image","tiff":"_file_image","psd":"_file_image","psb":"_file_image","ami":"_file_image","apx":"_file_image","bmp":"_file_image","bpg":"_file_image","brk":"_file_image","cur":"_file_image","dds":"_file_image","dng":"_file_image","exr":"_file_image","fpx":"_file_image","gbr":"_file_image","img":"_file_image","jbig2":"_file_image","jb2":"_file_image","jng":"_file_image","jxr":"_file_image","pbm":"_file_image","pgf":"_file_image","pic":"_file_image","raw":"_file_image","webp":"_file_image","php":"_file_php","js":"_file_js","ejs":"_file_js","jsx":"_file_react","ini":"_file_settings","dlc":"_file_settings","dll":"_file_settings","config":"_file_settings","conf":"_file_settings","esx":"_file_js","ts":"_file_typescript","tsx":"_file_react","d.ts":"_file_typescript_def","pdf":"_file_pdf","xlsx":"_file_table","xls":"_file_table","csv":"_file_table","vscodeignore":"_file_vs","vsixmanifest":"_file_vs","suo":"_file_vs","sln":"_file_vs","pdb":"_file_database","cs":"_file_csharp","csx":"_file_csharp","csproj":"_file_vs","zip":"_file_zip","tar":"_file_zip","gz":"_file_zip","xz":"_file_zip","bzip2":"_file_zip","gzip":"_file_zip","7z":"_file_zip","7zip":"_file_zip","pzip":"_file_zip","wim":"_file_zip","rar":"_file_zip","tgz":"_file_zip","exe":"_file_exe","msi":"_file_exe","java":"_file_java","jar":"_file_java","jsp":"_file_java","c":"_file_c","h":"_file_c","m":"_file_c","cc":"_file_cpp","cpp":"_file_cpp","c++":"_file_cpp","hpp":"_file_cpp","mm":"_file_cpp","cxx":"_file_cpp","go":"_file_go","py":"_file_python","url":"_file_url","sh":"_file_console","bat":"_file_console","ps1":"_file_console","fish":"_file_console","bash":"_file_console","gradle":"_file_gradle","doc":"_file_word","docx":"_file_word","rtf":"_file_word","properties":"_file_settings","prop":"_file_settings","settings":"_file_settings","sql":"_file_database","accdb":"_file_database","mdb":"_file_database","cer":"_file_certificate","cert":"_file_certificate","crt":"_file_certificate","pub":"_file_key","key":"_file_key","pem":"_file_key","asc":"_file_key","woff":"_file_font","woff2":"_file_font","ttf":"_file_font","eot":"_file_font","suit":"_file_font","otf":"_file_font","bmap":"_file_font","fnt":"_file_font","odttf":"_file_font","ttc":"_file_font","font":"_file_font","fonts":"_file_font","sui":"_file_font","ntf":"_file_font","mrf":"_file_font","lib":"_file_lib","rb":"_file_ruby","erb":"_file_ruby","fs":"_file_fsharp","fsx":"_file_fsharp","fsi":"_file_fsharp","fsproj":"_file_fsharp","manifest":"_file_xml","swift":"_file_swift","ino":"_file_arduino","dockerignore":"_file_docker","tex":"_file_tex","bib":"_file_lib","pptx":"_file_powerpoint","ppt":"_file_powerpoint","pptm":"_file_powerpoint","potx":"_file_powerpoint","pot":"_file_powerpoint","potm":"_file_powerpoint","ppsx":"_file_powerpoint","ppsm":"_file_powerpoint","pps":"_file_powerpoint","ppam":"_file_powerpoint","ppa":"_file_powerpoint","webm":"_file_movie","mkv":"_file_movie","flv":"_file_movie","vob":"_file_movie","ogv":"_file_movie","ogg":"_file_movie","gifv":"_file_movie","avi":"_file_movie","mov":"_file_movie","qt":"_file_movie","wmv":"_file_movie","yuv":"_file_movie","rm":"_file_movie","rmvb":"_file_movie","mp4":"_file_movie","m4v":"_file_movie","mpg":"_file_movie","mp2":"_file_movie","mpeg":"_file_movie","mpe":"_file_movie","mpv":"_file_movie","m2v":"_file_movie","vdi":"_file_virtual","vbox":"_file_virtual","vbox-prev":"_file_virtual","ics":"_file_email","mp3":"_file_music","flac":"_file_music","m4a":"_file_music","wma":"_file_music","aiff":"_file_music","coffee":"_file_coffee","txt":"_file_document","sqlite":"_file_database","graphql":"_file_graphql","gql":"_file_graphql","props":"_file_settings","toml":"_file_settings","rs":"_file_rust","raml":"_file_raml","xaml":"_file_xaml","prefs":"_file_settings","hs":"_file_haskell","kt":"_file_kotlin","project":"_file_xml","patch":"_file_git","dockerfile":"_file_docker","vb":"_file_vs","lua":"_file_lua","clj":"_file_clojure","groovy":"_file_groovy","r":"_file_r","rst":"_file_markdown","dart":"_file_dart","as":"_file_actionscript","mxml":"_file_mxml","ahk":"_file_autohotkey","swf":"_file_flash","swc":"_file_swc","cmake":"_file_cmake","asm":"_file_assembly","a51":"_file_assembly","inc":"_file_assembly","nasm":"_file_assembly","s":"_file_assembly","ms":"_file_assembly","agc":"_file_assembly","ags":"_file_assembly","aea":"_file_assembly","argus":"_file_assembly","mitigus":"_file_assembly","binsource":"_file_assembly","vue":"_file_vue","ml":"_file_ocaml","mli":"_file_ocaml","cmx":"_file_ocaml","js.map":"_file_jsmap","css.map":"_file_cssmap","tmTheme":"_file_markup","pp":"_file_pp","applescript":"_file_applescript","haml":"_file_haml","ex":"_file_ex","exs":"_file_ex"},"fileNames":{"gruntfile.js":"_file_grunt","bower.json":"_file_bower",".bowerrc":"_file_bower","webpack.js":"_file_webpack","webpack.config.js":"_file_webpack","webpack.dev.js":"_file_webpack","webpack.prod.js":"_file_webpack","webpack.common.js":"_file_webpack","webpackfile.js":"_file_webpack","ionic.config.json":"_file_ionic",".io-config.json":"_file_ionic","gulpfile.js":"_file_gulp","gulpfile.babel.js":"_file_gulp","package.json":"_file_npm","gradle.properties":"_file_gradle","gradlew":"_file_gradle",".jscsrc":"_file_json",".jshintrc":"_file_json",".jshintignore":"_file_settings",".npmignore":"_file_npm","tsconfig.json":"_file_json","tslint.json":"_file_json","androidmanifest.xml":"_file_android","gradle-wrapper.properties":"_file_gradle",".editorconfig":"_file_settings","procfile":"_file_procfile",".env":"_file_tune","dockerfile":"_file_docker","license":"_file_license","license.md":"_file_license","license.md.rendered":"_file_license","license.txt":"_file_license",".babelrc":"_file_json",".eslintrc":"_file_eslint",".eslintrc.js":"_file_eslint",".eslintrc.json":"_file_eslint",".eslintrc.yml":"_file_eslint",".stylelintrc":"_file_stylelint",".stylelint.js":"_file_stylelint",".stylelintrc.json":"_file_stylelint",".stylelintrc.yml":"_file_stylelint",".buildignore":"_file_settings",".htaccess":"_file_xml","composer.lock":"_file_json",".gitignore":"_file_git",".gitconfig":"_file_git",".gitattributes":"_file_git",".gitmodules":"_file_git",".gitkeep":"_file_git","yarn.lock":"_file_yarn",".yarnclean":"_file_yarn",".yarn-integrity":"_file_yarn","yarn-error.log":"_file_yarn","contributing.md":"_file_contributing","contributing.md.rendered":"_file_contributing","readme.md":"_file_readme","readme.md.rendered":"_file_readme",".mailmap":"_file_email","makefile":"_file_settings","changelog":"_file_changelog","changelog.md":"_file_changelog","changelog.md.rendered":"_file_changelog","CREDITS":"_file_credits","credits.txt":"_file_credits","credits.md":"_file_credits","credits.md.rendered":"_file_credits",".flowconfig":"_file_flow",".jsbeautifyrc":"_file_json","git-history":"_file_git","angular-cli.json":"_file_angular","app.module.ts":"_file_angular","favicon.ico":"_file_favicon"},"file":"_file_dark","folder":"_folder_dark","folderExpanded":"_folder_open","languageIds":{"git":"_file_git"},"light":{"folderExpanded":"_folder_open","folder":"_folder_light","folderNames":{"node_modules":"_file_nodejs",".git":"_file_git",".github":"_file_github",".gulp":"_file_gulp","bower_components":"_file_bower","build":"_folder_light_build","dist":"_folder_light_build"},"folderNamesExpanded":{"node_modules":"_file_nodejs",".git":"_file_git",".github":"_file_github",".gulp":"_file_gulp","bower_components":"_file_bower","build":"_folder_light_build","dist":"_folder_light_build"}},"folderNames":{"node_modules":"_file_nodejs",".git":"_file_git",".github":"_file_github",".gulp":"_file_gulp","bower_components":"_file_bower","build":"_folder_dark_build","dist":"_folder_dark_build"},"folderNamesExpanded":{"node_modules":"_file_nodejs",".git":"_file_git",".github":"_file_github",".gulp":"_file_gulp","bower_components":"_file_bower","build":"_folder_open_build","dist":"_folder_open_build"}} From 038ded7df1e3d053516018ce187d2b753cc3ab1c Mon Sep 17 00:00:00 2001 From: octod Date: Mon, 11 Sep 2017 23:00:11 +0200 Subject: [PATCH 3/3] feat: Adds "show changelog" command. --- extensions/material.theme.config.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/extensions/material.theme.config.ts b/extensions/material.theme.config.ts index 44d9124..fa0a9dd 100644 --- a/extensions/material.theme.config.ts +++ b/extensions/material.theme.config.ts @@ -7,12 +7,14 @@ import { shouldShowChangelog, showChangelog } from './helpers/changelog'; enum Commands { ACCENTS, + CHANGELOG, COLOUR_VARIANT } const OPTIONS: IGenericObject = { 'Change accent color': Commands.ACCENTS, - 'Change color variant': Commands.COLOUR_VARIANT + 'Change color variant': Commands.COLOUR_VARIANT, + 'Read the changelog': Commands.CHANGELOG } export function activate(context: vscode.ExtensionContext) { @@ -33,6 +35,9 @@ export function activate(context: vscode.ExtensionContext) { case Commands.ACCENTS: THEME_ACCENTS_SETTER(); break; + case Commands.CHANGELOG: + showChangelog(); + break; case Commands.COLOUR_VARIANT: THEME_VARIANT(); break;