From 8695493a02ef8bd17d159eea16e7fbf00cb20d08 Mon Sep 17 00:00:00 2001 From: Juha Ristolainen Date: Sat, 18 Mar 2017 09:25:20 +0000 Subject: [PATCH] Added manual mapping to language names --- CHANGELOG.md | 4 ++ README.md | 4 ++ package.json | 2 +- ....0.3.vsix => code-stats-vscode-1.0.4.vsix} | Bin 98185 -> 98927 bytes src/code-stats-api.ts | 5 +- src/utils.ts | 67 +++++++++++++++++- src/xp-counter.ts | 8 +++ 7 files changed, 86 insertions(+), 4 deletions(-) rename releases/{code-stats-vscode-1.0.3.vsix => code-stats-vscode-1.0.4.vsix} (87%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4447bd4..f7ff0da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ All notable changes to the "code-stats-vscode" extension will be documented in t ### Changed +## [1.0.4] - 2017-03-18 +### Added +Added a manual mapping to natural language language names. + ## [1.0.3] - 2017-03-18 ### Added Added license for the logo from Nicd. diff --git a/README.md b/README.md index 8f082b1..f3f942f 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,10 @@ This extension contributes the following settings: ## Release Notes +### 1.0.4 + +Added a manual mapping to natural language language names. + ### 1.0.3 Fixed an accumulation of XP bug. diff --git a/package.json b/package.json index 613f577..797619c 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "code-stats-vscode", "displayName": "Code::Stats", "description": "Code::Stats package for Visual Studio Code", - "version": "1.0.3", + "version": "1.0.4", "publisher": "juha-ristolainen", "icon": "logo.png", "repository": { diff --git a/releases/code-stats-vscode-1.0.3.vsix b/releases/code-stats-vscode-1.0.4.vsix similarity index 87% rename from releases/code-stats-vscode-1.0.3.vsix rename to releases/code-stats-vscode-1.0.4.vsix index 9f575a32b0fc0f1340f0fc24911cb4246f8d40f0..68d85d06510e7e645544221ee0bc5462434f227c 100644 GIT binary patch delta 6565 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 Il?Utp0Lz#{2><{9 diff --git a/src/code-stats-api.ts b/src/code-stats-api.ts index c0fb4a0..20381ab 100644 --- a/src/code-stats-api.ts +++ b/src/code-stats-api.ts @@ -1,6 +1,6 @@ import { Pulse } from "./pulse"; -import { getISOTimestamp } from "./utils"; +import { getISOTimestamp, getLanguageName } from "./utils"; import * as axios from "axios"; export class CodeStatsAPI { @@ -30,8 +30,9 @@ export class CodeStatsAPI { const data = new ApiJSON(new Date()); for (let lang of pulse.xps.keys()) { + let languageName: string = getLanguageName(lang); let xp: number = pulse.getXP(lang); - data.xps.push(new ApiXP(lang, xp)); + data.xps.push(new ApiXP(languageName, xp)); } let json: string = JSON.stringify(data); diff --git a/src/utils.ts b/src/utils.ts index 0ad6013..302b07d 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -17,4 +17,69 @@ export function getISOTimestamp(date: Date): string { ":" + pad(date.getSeconds()) + prefix + pad(offset / 60) + pad(offset % 60); -} \ No newline at end of file +} + +export function getLanguageName(langId: string): string { + // currently supported language ids in vscode as of 2017-03-18 + let languageNames: { [key:string]: string; } = { + "plaintext": "Plain text", + "Log": "Log", + "bat": "bat", + "clojure": "Clojure", + "coffeescript": "CoffeeScript", + "c": "C", + "cpp": "C++", + "csharp": "C#", + "css": "CSS", + "diff": "Diff", + "dockerfile": "Docker", + "fsharpcss": "F#", + "git-commit": "Git", + "git-rebase": "Git", + "go": "Go", + "groovy": "Groovy", + "handlebars": "Handlebars", + "hlsl": "HLSL", + "html": "HTML", + "ini": ".ini", + "properties": ".properties", + "java": "Java", + "javascriptreact": "JavaScript (React)", + "javascript": "JavaScript", + "jsx-tags": "JavaScript (JSX)", + "json": "JSON", + "less": "CSS (LESS)", + "lua": "Lua", + "makefile": "Makefile", + "markdown": "Markdown", + "objective-c": "Objective-C", + "perl": "Perl", + "perl6": "Perl 6", + "php": "PHP", + "powershell": "PowerShell", + "jade": "Jade", + "python": "Python", + "r": "R", + "razor": "Razor", + "ruby": "Ruby", + "rust": "Rust", + "scss": "CSS (SCSS)", + "shaderlab": "Shaderlab", + "shellscript": "Shell script", + "sql": "SQL", + "swift": "Swift", + "typescript": "TypeScript", + "typescriptreact": "TypeScript (React)", + "vb": "Visual Basic", + "xml": "XML", + "xsl": "XSL", + "yaml": "YAML" + }; + + let languageName: string = languageNames[langId]; + + if (languageName === null || languageName === undefined) { + return "Unknown"; + } + return languageName; +} diff --git a/src/xp-counter.ts b/src/xp-counter.ts index bc60dff..aa8ec7b 100644 --- a/src/xp-counter.ts +++ b/src/xp-counter.ts @@ -18,6 +18,14 @@ export class XpCounter { constructor() { this.pulse = new Pulse(); + /* + let allLanguages = languages.getLanguages().then( + (result => { + console.log(JSON.stringify(result)); + }) + ); + */ + let config: WorkspaceConfiguration = workspace.getConfiguration("codestats"); if (!config) { return;