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 pydantic import BaseModel, Field
@ -10,28 +11,43 @@ class LanguagePreset(BaseModel):
stop_words: List[str]
LanguagePresets = {
Language.UNKNOWN: LanguagePreset(
max_length=128,
stop_words=["\n\n"],
),
Language.PYTHON: LanguagePreset(
max_length=128,
stop_words=["\n\n", "\ndef", "\n#", "\nimport", "\nfrom", "\nclass"],
),
Language.JAVASCRIPT: LanguagePreset(
max_length=128, stop_words=["\n\n", "\nfunction", "\n//", "\nimport", "\nclass"]
),
Language.TYPESCRIPT: LanguagePreset(
max_length=128,
stop_words=[
"\n\n",
"\nfunction",
"\n//",
"\nimport",
"\nclass",
"\ninterface",
"\ntype",
],
),
}
DEFAULT = LanguagePreset(
max_length=128,
stop_words=["\n\n"],
)
LanguagePresets = defaultdict(
lambda: DEFAULT,
[
(
Language.PYTHON,
LanguagePreset(
max_length=128,
stop_words=["\n\n", "\ndef", "\n#", "\nimport", "\nfrom", "\nclass"],
),
),
(
Language.JAVASCRIPT,
LanguagePreset(
max_length=128,
stop_words=["\n\n", "\nfunction", "\n//", "\nimport", "\nclass"],
),
),
(
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
class Language(str, Enum):
UNKNOWN = "unknown"
PYTHON = "python"
CLOJURE = "clojure"
CSHARP = "csharp"
CSS = "css"
DOCKERFILE = "dockerfile"
FSHARP = "fsharp"
GO = "go"
JAVASCRIPT = "javascript"
JSON = "json"
PHP = "php"
PYTHON = "python"
TYPESCRIPT = "typescript"
YAML = "yaml"
class CompletionRequest(BaseModel):