feat: finish multi lnaguage support
This commit is contained in:
9
src/server/code-parse/language/cpp/codecrumbs.js
Normal file
9
src/server/code-parse/language/cpp/codecrumbs.js
Normal file
@@ -0,0 +1,9 @@
|
||||
const { setupGetCrumbs, setupdGetCommentsFromCode } = require('../default/codecrumbs');
|
||||
|
||||
const CPP_COMMENT_REGEX = /^([^\/\/]*)\/\/(.*)$/;
|
||||
const getCrumbs = setupGetCrumbs(setupdGetCommentsFromCode(CPP_COMMENT_REGEX));
|
||||
|
||||
// replace with own implementation if needed
|
||||
module.exports = {
|
||||
getCrumbs
|
||||
};
|
||||
7
src/server/code-parse/language/cpp/dependencies.js
Normal file
7
src/server/code-parse/language/cpp/dependencies.js
Normal file
@@ -0,0 +1,7 @@
|
||||
const defaultDependencies = require('../default/dependencies');
|
||||
|
||||
// replace with own implementation if needed
|
||||
module.exports = {
|
||||
getImports: defaultDependencies.getImports,
|
||||
getDependencies: defaultDependencies.getDependencies
|
||||
};
|
||||
@@ -97,8 +97,12 @@ const setupGetCrumbs = getCommentsFromCode => (fileCode, path) => {
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
const DEFAULT_COMMENT_REGEX = /^([^\/\/]*)\/\/(.*)$/;
|
||||
const getCrumbs = setupGetCrumbs(setupdGetCommentsFromCode(DEFAULT_COMMENT_REGEX));
|
||||
|
||||
module.exports = {
|
||||
getCrumbs: setupGetCrumbs(() => []), // TODO: add regexp for // comment
|
||||
getCrumbs,
|
||||
|
||||
setupdGetCommentsFromCode,
|
||||
setupGetCrumbs,
|
||||
|
||||
@@ -4,14 +4,30 @@
|
||||
module.exports = {
|
||||
detectLanguage: entryPoint => {
|
||||
const list = [
|
||||
{
|
||||
language: 'cpp',
|
||||
extensions: /.(cpp|c\+\+|cc|cp|cxx|h|h\+\+|hh|hpp|hxx|inc|inl|ino|ipp|re|tcc|tpp)$/
|
||||
},
|
||||
{
|
||||
language: 'java',
|
||||
extensions: /.(java|jsp)$/
|
||||
},
|
||||
{
|
||||
language: 'javascript',
|
||||
extensions: /\.(js|jsx|_js|bones|es|es6|frag|gs|jake|jsb|jscad|jsfl|jsm|jss|mjs|njs|pac|sjs|ssjs|xsjs|xsjslib)$/
|
||||
},
|
||||
{
|
||||
language: 'php',
|
||||
extensions: /.(php|aw|ctp|fcgi|inc|php3|php4|php5|phps|phpt)$/
|
||||
},
|
||||
{
|
||||
language: 'python',
|
||||
extensions: /\.(py|bzl|cgi|fcgi|gyp|gypi|lmi|py3|pyde|pyi|pyp|pyt|pyw|rpy|spec|tac|wsgi|xpy)$/
|
||||
}
|
||||
},
|
||||
{
|
||||
language: 'typescript',
|
||||
extensions: /.(ts|tsx)$/
|
||||
},
|
||||
];
|
||||
|
||||
const detection = list.find(item => item.extensions.test(entryPoint));
|
||||
@@ -19,14 +35,30 @@ module.exports = {
|
||||
},
|
||||
getLanguageParsers: (language = 'default') => {
|
||||
const map = {
|
||||
cpp: {
|
||||
codecrumbsParser: require('./cpp/codecrumbs'),
|
||||
dependenciesParser: require('./cpp/dependencies')
|
||||
},
|
||||
java: {
|
||||
codecrumbsParser: require('./java/codecrumbs'),
|
||||
dependenciesParser: require('./java/dependencies')
|
||||
},
|
||||
javascript: {
|
||||
codecrumbsParser: require('./javascript/codecrumbs'),
|
||||
dependenciesParser: require('./javascript/dependencies')
|
||||
},
|
||||
php: {
|
||||
codecrumbsParser: require('./php/codecrumbs'),
|
||||
dependenciesParser: require('./php/dependencies')
|
||||
},
|
||||
python: {
|
||||
codecrumbsParser: require('./python/codecrumbs'),
|
||||
dependenciesParser: require('./python/dependencies')
|
||||
},
|
||||
typescript: {
|
||||
codecrumbsParser: require('./typescript/codecrumbs'),
|
||||
dependenciesParser: require('./typescript/dependencies')
|
||||
},
|
||||
default: {
|
||||
codecrumbsParser: require('./default/codecrumbs'),
|
||||
dependenciesParser: require('./default/dependencies')
|
||||
|
||||
9
src/server/code-parse/language/java/codecrumbs.js
Normal file
9
src/server/code-parse/language/java/codecrumbs.js
Normal file
@@ -0,0 +1,9 @@
|
||||
const { setupGetCrumbs, setupdGetCommentsFromCode } = require('../default/codecrumbs');
|
||||
|
||||
const JAVA_COMMENT_REGEX = /^([^\/\/]*)\/\/(.*)$/;
|
||||
const getCrumbs = setupGetCrumbs(setupdGetCommentsFromCode(JAVA_COMMENT_REGEX));
|
||||
|
||||
// replace with own implementation if needed
|
||||
module.exports = {
|
||||
getCrumbs
|
||||
};
|
||||
7
src/server/code-parse/language/java/dependencies.js
Normal file
7
src/server/code-parse/language/java/dependencies.js
Normal file
@@ -0,0 +1,7 @@
|
||||
const defaultDependencies = require('../default/dependencies');
|
||||
|
||||
// replace with own implementation if needed
|
||||
module.exports = {
|
||||
getImports: defaultDependencies.getImports,
|
||||
getDependencies: defaultDependencies.getDependencies
|
||||
};
|
||||
9
src/server/code-parse/language/php/codecrumbs.js
Normal file
9
src/server/code-parse/language/php/codecrumbs.js
Normal file
@@ -0,0 +1,9 @@
|
||||
const { setupGetCrumbs, setupdGetCommentsFromCode } = require('../default/codecrumbs');
|
||||
|
||||
const PHP_COMMENT_REGEX = /^([^\/\/]*)\/\/(.*)$/;
|
||||
const getCrumbs = setupGetCrumbs(setupdGetCommentsFromCode(PHP_COMMENT_REGEX));
|
||||
|
||||
// replace with own implementation if needed
|
||||
module.exports = {
|
||||
getCrumbs
|
||||
};
|
||||
7
src/server/code-parse/language/php/dependencies.js
Normal file
7
src/server/code-parse/language/php/dependencies.js
Normal file
@@ -0,0 +1,7 @@
|
||||
const defaultDependencies = require('../default/dependencies');
|
||||
|
||||
// replace with own implementation if needed
|
||||
module.exports = {
|
||||
getImports: defaultDependencies.getImports,
|
||||
getDependencies: defaultDependencies.getDependencies
|
||||
};
|
||||
9
src/server/code-parse/language/typescript/codecrumbs.js
Normal file
9
src/server/code-parse/language/typescript/codecrumbs.js
Normal file
@@ -0,0 +1,9 @@
|
||||
const { setupGetCrumbs, setupdGetCommentsFromCode } = require('../default/codecrumbs');
|
||||
|
||||
const TYPE_SCRIPT_COMMENT_REGEX = /^([^\/\/]*)\/\/(.*)$/;
|
||||
const getCrumbs = setupGetCrumbs(setupdGetCommentsFromCode(TYPE_SCRIPT_COMMENT_REGEX));
|
||||
|
||||
// replace with own implementation if needed
|
||||
module.exports = {
|
||||
getCrumbs
|
||||
};
|
||||
@@ -0,0 +1,7 @@
|
||||
const defaultDependencies = require('../default/dependencies');
|
||||
|
||||
// replace with own implementation if needed
|
||||
module.exports = {
|
||||
getImports: defaultDependencies.getImports,
|
||||
getDependencies: defaultDependencies.getDependencies
|
||||
};
|
||||
Reference in New Issue
Block a user