Skip to content

Commit 7c3f88c

Browse files
feat: add csharp, kotlin, ruby
1 parent 50da3e9 commit 7c3f88c

13 files changed

Lines changed: 100 additions & 11 deletions

File tree

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// cc:main function
2+
using System;
3+
namespace HelloWorld
4+
{
5+
class Hello
6+
{
7+
static void Main()
8+
{
9+
Console.WriteLine("Hello World!");
10+
11+
// Keep the console window open in debug mode.
12+
Console.WriteLine("Press any key to exit.");
13+
Console.ReadKey();
14+
}
15+
}
16+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
// cc:main function
2+
3+
fun main(args : Array<String>) {
4+
println("Hello, World!")
5+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# cc:main function
2+
3+
puts 'Hello, world!'

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "codecrumbs",
3-
"version": "1.1.2",
3+
"version": "1.1.3",
44
"author": "Bohdan Liashenko",
55
"license": "BSD-3-Clause",
66
"repository": {

src/public/dist/local/bundle/main.bundle.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46889,7 +46889,7 @@ module.exports = function(originalModule) {
4688946889
/*! exports provided: name, version, author, license, repository, scripts, bin, dependencies, devDependencies, nodemonConfig, husky, default */
4689046890
/***/ (function(module) {
4689146891

46892-
module.exports = {"name":"codecrumbs","version":"1.1.2","author":"Bohdan Liashenko","license":"BSD-3-Clause","repository":{"type":"git","url":"https://github.com/Bogdan-Lyashenko/codecrumbs.git"},"scripts":{"start":"yarn client-dev & yarn server-dev","server:one":"node src/index.dev.js","server:two":"node src/index.dev.js two","client-dev":"cd src/public && webpack --config webpack.dev.js --progress --colors --watch --env dev","server-dev":"nodemon src/index.dev.js","server-debug":"nodemon --inspect src/index.dev.js","build":"cd src/public && webpack --config webpack.prod.js --progress --colors","start:standalone":"cd src/public/dist/standalone && http-server","pretty":"prettier --write \"./src/public/js/**/*.js\""},"bin":{"codecrumbs":"./cli/index.cli.js"},"dependencies":{"@babel/parser":"^7.1.2","@babel/polyfill":"^7.0.0","@babel/traverse":"^7.1.0","antd":"^3.9.2","chalk":"^2.4.2","classnames":"^2.2.6","colors":"^1.3.2","commander":"^2.19.0","copy-text-to-clipboard":"^1.0.4","d3-flextree":"^2.1.1","directory-tree":"^2.1.0","file-saver":"^2.0.0","http-server":"^0.11.1","js2flowchart":"^1.1.7","lodash":"^4.17.10","lodash.debounce":"^4.0.8","madge":"^3.3.0","portscanner":"^2.2.0","react":"^16.7.0","react-dom":"^16.7.0","react-draggable":"^3.0.5","react-redux":"^5.0.7","react-syntax-highlighter":"8.0.1","redux":"^4.0.0","redux-persist":"^5.10.0","redux-saga":"^0.16.0","redux-thunk":"^2.2.0","reselect":"^4.0.0","watchpack":"^1.6.0","websocket":"^1.0.26"},"devDependencies":{"@babel/core":"^7.1.2","@babel/plugin-syntax-dynamic-import":"^7.2.0","@babel/preset-env":"^7.1.0","@babel/preset-react":"^7.0.0","@commitlint/cli":"^7.3.2","@commitlint/config-conventional":"^7.3.1","babel-loader":"^8.0.4","babel-plugin-import":"^1.9.1","css-loader":"^0.28.11","husky":"^1.3.1","node-sass":"^4.9.3","nodemon":"^1.18.7","prettier":"^1.14.0","sass-loader":"^7.1.0","style-loader":"^0.21.0","webpack":"^4.20.2","webpack-bundle-analyzer":"^3.0.3","webpack-cli":"^3.1.2","webpack-merge":"^4.1.5"},"nodemonConfig":{"ignore":["src/public/**/*.*"],"delay":"2500"},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}}};
46892+
module.exports = {"name":"codecrumbs","version":"1.1.3","author":"Bohdan Liashenko","license":"BSD-3-Clause","repository":{"type":"git","url":"https://github.com/Bogdan-Lyashenko/codecrumbs.git"},"scripts":{"start":"yarn client-dev & yarn server-dev","server:one":"node src/index.dev.js","server:two":"node src/index.dev.js two","client-dev":"cd src/public && webpack --config webpack.dev.js --progress --colors --watch --env dev","server-dev":"nodemon src/index.dev.js","server-debug":"nodemon --inspect src/index.dev.js","build":"cd src/public && webpack --config webpack.prod.js --progress --colors","start:standalone":"cd src/public/dist/standalone && http-server","pretty":"prettier --write \"./src/public/js/**/*.js\""},"bin":{"codecrumbs":"./cli/index.cli.js"},"dependencies":{"@babel/parser":"^7.1.2","@babel/polyfill":"^7.0.0","@babel/traverse":"^7.1.0","antd":"^3.9.2","chalk":"^2.4.2","classnames":"^2.2.6","colors":"^1.3.2","commander":"^2.19.0","copy-text-to-clipboard":"^1.0.4","d3-flextree":"^2.1.1","directory-tree":"^2.1.0","file-saver":"^2.0.0","http-server":"^0.11.1","js2flowchart":"^1.1.7","lodash":"^4.17.10","lodash.debounce":"^4.0.8","madge":"^3.3.0","portscanner":"^2.2.0","react":"^16.7.0","react-dom":"^16.7.0","react-draggable":"^3.0.5","react-redux":"^5.0.7","react-syntax-highlighter":"8.0.1","redux":"^4.0.0","redux-persist":"^5.10.0","redux-saga":"^0.16.0","redux-thunk":"^2.2.0","reselect":"^4.0.0","watchpack":"^1.6.0","websocket":"^1.0.26"},"devDependencies":{"@babel/core":"^7.1.2","@babel/plugin-syntax-dynamic-import":"^7.2.0","@babel/preset-env":"^7.1.0","@babel/preset-react":"^7.0.0","@commitlint/cli":"^7.3.2","@commitlint/config-conventional":"^7.3.1","babel-loader":"^8.0.4","babel-plugin-import":"^1.9.1","css-loader":"^0.28.11","husky":"^1.3.1","node-sass":"^4.9.3","nodemon":"^1.18.7","prettier":"^1.14.0","sass-loader":"^7.1.0","style-loader":"^0.21.0","webpack":"^4.20.2","webpack-bundle-analyzer":"^3.0.3","webpack-cli":"^3.1.2","webpack-merge":"^4.1.5"},"nodemonConfig":{"ignore":["src/public/**/*.*"],"delay":"2500"},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}}};
4689346893

4689446894
/***/ }),
4689546895

@@ -46992,7 +46992,7 @@ var App = function App() {
4699246992
fallback: null
4699346993
}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(SideBar, null))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("footer", {
4699446994
className: "footer"
46995-
}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", null, "v".concat("1.1.2")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", null, "\u24B8 Bohdan Liashenko", ' • ', react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", {
46995+
}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", null, "v".concat("1.1.3")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", null, "\u24B8 Bohdan Liashenko", ' • ', react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", {
4699646996
href: "https://github.com/Bogdan-Lyashenko/codecrumbs"
4699746997
}, "Github"), ' • ', react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", {
4699846998
href: "https://codecrumbs.io/"

src/public/js/components/treeDiagram/component/Node/File.js

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,7 @@ const getFileIcon = ({ position, iconSize, language }) => {
4444
);
4545

4646
default:
47-
return (
48-
<FileIcon
49-
x={position.x + 2}
50-
y={position.y - 10}
51-
height={iconSize + 1}
52-
width={iconSize + 1}
53-
/>
54-
);
47+
return <FileIcon x={position.x + 2} y={position.y - 9} height={iconSize} width={iconSize} />;
5548
}
5649
};
5750

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
const { setupGetCrumbs, setupGetCommentsFromCode } = require('../default/codecrumbs');
2+
3+
const CSHARP_COMMENT_REGEX = /^([^\/\/]*)\/\/(.*)$/;
4+
const getCrumbs = setupGetCrumbs(setupGetCommentsFromCode(CSHARP_COMMENT_REGEX));
5+
6+
// replace with own implementation if needed
7+
module.exports = {
8+
getCrumbs
9+
};
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
const defaultDependencies = require('../default/dependencies');
2+
3+
// replace with own implementation if needed
4+
module.exports = {
5+
getImports: defaultDependencies.getImports,
6+
getDependencies: defaultDependencies.getDependencies
7+
};

src/server/code-parse/language/index.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ module.exports = {
88
language: 'cpp',
99
extensions: /.(cpp|c\+\+|cc|cp|cxx|h|h\+\+|hh|hpp|hxx|inc|inl|ino|ipp|re|tcc|tpp)$/
1010
},
11+
{
12+
language: 'csharp',
13+
extensions: /.(cs|cake|cshtml|csx)$/
14+
},
1115
{
1216
language: 'java',
1317
extensions: /.(java|jsp)$/
@@ -16,6 +20,10 @@ module.exports = {
1620
language: 'javascript',
1721
extensions: /\.(js|jsx|_js|bones|es|es6|frag|gs|jake|jsb|jscad|jsfl|jsm|jss|mjs|njs|pac|sjs|ssjs|xsjs|xsjslib)$/
1822
},
23+
{
24+
language: 'kotlin',
25+
extensions: /.(kt|ktm|kts)$/
26+
},
1927
{
2028
language: 'php',
2129
extensions: /.(php|aw|ctp|fcgi|inc|php3|php4|php5|phps|phpt)$/
@@ -24,6 +32,10 @@ module.exports = {
2432
language: 'python',
2533
extensions: /\.(py|bzl|cgi|fcgi|gyp|gypi|lmi|py3|pyde|pyi|pyp|pyt|pyw|rpy|spec|tac|wsgi|xpy)$/
2634
},
35+
{
36+
language: 'ruby',
37+
extensions: /.(rb|builder|eye|fcgi|gemspec|god|jbuilder|mspec|pluginspec|podspec|rabl|rake|rbuild|rbw|rbx|ru|ruby|spec|thor|watchr)$/
38+
},
2739
{
2840
language: 'typescript',
2941
extensions: /.(ts|tsx)$/
@@ -47,6 +59,10 @@ module.exports = {
4759
codecrumbsParser: require('./cpp/codecrumbs'),
4860
dependenciesParser: require('./cpp/dependencies')
4961
},
62+
csharp: {
63+
codecrumbsParser: require('./csharp/codecrumbs'),
64+
dependenciesParser: require('./csharp/dependencies')
65+
},
5066
java: {
5167
codecrumbsParser: require('./java/codecrumbs'),
5268
dependenciesParser: require('./java/dependencies')
@@ -55,6 +71,10 @@ module.exports = {
5571
codecrumbsParser: require('./javascript/codecrumbs'),
5672
dependenciesParser: require('./javascript/dependencies')
5773
},
74+
kotlin: {
75+
codecrumbsParser: require('./kotlin/codecrumbs'),
76+
dependenciesParser: require('./kotlin/dependencies')
77+
},
5878
php: {
5979
codecrumbsParser: require('./php/codecrumbs'),
6080
dependenciesParser: require('./php/dependencies')
@@ -63,6 +83,10 @@ module.exports = {
6383
codecrumbsParser: require('./python/codecrumbs'),
6484
dependenciesParser: require('./python/dependencies')
6585
},
86+
ruby: {
87+
codecrumbsParser: require('./ruby/codecrumbs'),
88+
dependenciesParser: require('./ruby/dependencies')
89+
},
6690
typescript: {
6791
codecrumbsParser: require('./typescript/codecrumbs'),
6892
dependenciesParser: require('./typescript/dependencies')
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
const { setupGetCrumbs, setupGetCommentsFromCode } = require('../default/codecrumbs');
2+
3+
const KOTLIN_COMMENT_REGEX = /^([^\/\/]*)\/\/(.*)$/;
4+
const getCrumbs = setupGetCrumbs(setupGetCommentsFromCode(KOTLIN_COMMENT_REGEX));
5+
6+
// replace with own implementation if needed
7+
module.exports = {
8+
getCrumbs
9+
};

0 commit comments

Comments
 (0)