Add more languages

add-more-languages
Meng Zhang 2023-04-11 17:01:10 +08:00
parent 359fc97f45
commit 0cfb04f505
2 changed files with 51 additions and 26 deletions

View File

@ -1,3 +1,4 @@
from collections import defaultdict
from typing import List from typing import List
from pydantic import BaseModel, Field from pydantic import BaseModel, Field
@ -10,28 +11,43 @@ class LanguagePreset(BaseModel):
stop_words: List[str] stop_words: List[str]
LanguagePresets = { DEFAULT = LanguagePreset(
Language.UNKNOWN: LanguagePreset( max_length=128,
max_length=128, stop_words=["\n\n"],
stop_words=["\n\n"], )
),
Language.PYTHON: LanguagePreset(
max_length=128, LanguagePresets = defaultdict(
stop_words=["\n\n", "\ndef", "\n#", "\nimport", "\nfrom", "\nclass"], lambda: DEFAULT,
), [
Language.JAVASCRIPT: LanguagePreset( (
max_length=128, stop_words=["\n\n", "\nfunction", "\n//", "\nimport", "\nclass"] Language.PYTHON,
), LanguagePreset(
Language.TYPESCRIPT: LanguagePreset( max_length=128,
max_length=128, stop_words=["\n\n", "\ndef", "\n#", "\nimport", "\nfrom", "\nclass"],
stop_words=[ ),
"\n\n", ),
"\nfunction", (
"\n//", Language.JAVASCRIPT,
"\nimport", LanguagePreset(
"\nclass", max_length=128,
"\ninterface", stop_words=["\n\n", "\nfunction", "\n//", "\nimport", "\nclass"],
"\ntype", ),
], ),
), (
} Language.TYPESCRIPT,
LanguagePreset(
max_length=128,
stop_words=[
"\n\n",
"\nfunction",
"\n//",
"\nimport",
"\nclass",
"\ninterface",
"\ntype",
],
),
),
],
)

View File

@ -12,9 +12,18 @@ class Choice(BaseModel):
# https://code.visualstudio.com/docs/languages/identifiers # https://code.visualstudio.com/docs/languages/identifiers
class Language(str, Enum): class Language(str, Enum):
UNKNOWN = "unknown" UNKNOWN = "unknown"
PYTHON = "python" CLOJURE = "clojure"
CSHARP = "csharp"
CSS = "css"
DOCKERFILE = "dockerfile"
FSHARP = "fsharp"
GO = "go"
JAVASCRIPT = "javascript" JAVASCRIPT = "javascript"
JSON = "json"
PHP = "php"
PYTHON = "python"
TYPESCRIPT = "typescript" TYPESCRIPT = "typescript"
YAML = "yaml"
class CompletionRequest(BaseModel): class CompletionRequest(BaseModel):