@@ -761,266 +761,4 @@ func symbolReForLang(lang string) *regexp.Regexp {
761761 }
762762}
763763
764- // extensionLanguageMap maps file extensions to language names.
765- var extensionLanguageMap = map [string ]string {
766- // Go
767- ".go" : "go" ,
768- // Python
769- ".py" : "python" ,
770- ".pyw" : "python" ,
771- // TypeScript / JavaScript
772- ".ts" : "typescript" ,
773- ".tsx" : "tsx" ,
774- ".js" : "javascript" ,
775- ".jsx" : "jsx" ,
776- // Rust
777- ".rs" : "rust" ,
778- // Java
779- ".java" : "java" ,
780- // Ruby
781- ".rb" : "ruby" ,
782- // PHP
783- ".php" : "php" ,
784- // C
785- ".c" : "c" ,
786- ".h" : "c" ,
787- // C++
788- ".cpp" : "cpp" ,
789- ".cc" : "cpp" ,
790- ".cxx" : "cpp" ,
791- ".hpp" : "cpp" ,
792- // C#
793- ".cs" : "csharp" ,
794- // Kotlin
795- ".kt" : "kotlin" ,
796- ".kts" : "kotlin" ,
797- // Swift
798- ".swift" : "swift" ,
799- // Dart
800- ".dart" : "dart" ,
801- // Shell
802- ".sh" : "bash" ,
803- ".bash" : "bash" ,
804- // SQL
805- ".sql" : "sql" ,
806- // HTML
807- ".html" : "html" ,
808- ".htm" : "html" ,
809- // CSS
810- ".css" : "css" ,
811- // Vue
812- ".vue" : "vue" ,
813- // Zig
814- ".zig" : "zig" ,
815- // Elixir
816- ".ex" : "elixir" ,
817- ".exs" : "elixir" ,
818- // Scala
819- ".scala" : "scala" ,
820- // Lua
821- ".lua" : "lua" ,
822- // R
823- ".r" : "r" ,
824- ".R" : "r" ,
825- // Markdown
826- ".md" : "markdown" ,
827- // Objective-C / Objective-C++
828- ".m" : "objective-c" ,
829- ".mm" : "objective-cpp" ,
830- // Perl
831- ".pl" : "perl" ,
832- ".pm" : "perl" ,
833- // Haskell
834- ".hs" : "haskell" ,
835- ".lhs" : "haskell" ,
836- // Erlang
837- ".erl" : "erlang" ,
838- ".hrl" : "erlang" ,
839- // Clojure
840- ".clj" : "clojure" ,
841- ".cljs" : "clojure" ,
842- // F#
843- ".fs" : "fsharp" ,
844- ".fsx" : "fsharp" ,
845- // OCaml
846- ".ml" : "ocaml" ,
847- ".mli" : "ocaml" ,
848- // Julia
849- ".jl" : "julia" ,
850- // Nim
851- ".nim" : "nim" ,
852- // Crystal
853- ".cr" : "crystal" ,
854- // V
855- ".v" : "v" ,
856- // VHDL
857- ".vhdl" : "vhdl" ,
858- // Solidity
859- ".sol" : "solidity" ,
860- // Protobuf
861- ".proto" : "protobuf" ,
862- // GraphQL
863- ".graphql" : "graphql" ,
864- ".gql" : "graphql" ,
865- // Terraform / HCL
866- ".tf" : "terraform" ,
867- ".hcl" : "hcl" ,
868- // CMake
869- ".cmake" : "cmake" ,
870- // Gradle
871- ".gradle" : "gradle" ,
872- // Groovy
873- ".groovy" : "groovy" ,
874- // PowerShell
875- ".ps1" : "powershell" ,
876- ".psm1" : "powershell" ,
877- // Batch
878- ".bat" : "batch" ,
879- ".cmd" : "batch" ,
880- // Fish
881- ".fish" : "fish" ,
882- // Vim
883- ".vim" : "vim" ,
884- // Emacs Lisp
885- ".el" : "elisp" ,
886- // Racket
887- ".rkt" : "racket" ,
888- // Pascal
889- ".pas" : "pascal" ,
890- // D
891- ".d" : "d" ,
892- // Ada
893- ".ada" : "ada" ,
894- ".adb" : "ada" ,
895- // Fortran
896- ".f90" : "fortran" ,
897- ".f95" : "fortran" ,
898- // COBOL
899- ".cob" : "cobol" ,
900- // Svelte
901- ".svelte" : "svelte" ,
902- // Astro
903- ".astro" : "astro" ,
904- // Prisma
905- ".prisma" : "prisma" ,
906- // dotenv
907- ".env" : "dotenv" ,
908- // INI / Config
909- ".ini" : "ini" ,
910- ".cfg" : "ini" ,
911- // Config files
912- ".conf" : "conf" ,
913- // Nginx
914- ".nginx" : "nginx" ,
915- // Dockerfile
916- ".dockerfile" : "dockerfile" ,
917- ".containerfile" : "dockerfile" ,
918- // Nix
919- ".nix" : "nix" ,
920- // Dhall
921- ".dhall" : "dhall" ,
922- // Jsonnet
923- ".jsonnet" : "jsonnet" ,
924- // Starlark
925- ".starlark" : "starlark" ,
926- ".bzl" : "starlark" ,
927- // WebAssembly
928- ".wasm" : "wasm" ,
929- ".wat" : "wat" ,
930- // YAML
931- ".yaml" : "yaml" ,
932- ".yml" : "yaml" ,
933- // JSON
934- ".json" : "json" ,
935- // TOML
936- ".toml" : "toml" ,
937- // XML
938- ".xml" : "xml" ,
939- // SCSS / SASS / LESS
940- ".scss" : "scss" ,
941- ".sass" : "sass" ,
942- ".less" : "less" ,
943- // CoffeeScript
944- ".coffee" : "coffeescript" ,
945- // Elm
946- ".elm" : "elm" ,
947- // PureScript
948- ".purs" : "purescript" ,
949- // Assembly
950- ".asm" : "assembly" ,
951- ".s" : "assembly" ,
952- // Makefile
953- ".mk" : "makefile" ,
954- // Diff / Patch
955- ".diff" : "diff" ,
956- ".patch" : "diff" ,
957- // LaTeX
958- ".tex" : "latex" ,
959- // reStructuredText
960- ".rst" : "rst" ,
961- // Org-mode
962- ".org" : "org" ,
963- // CSV / TSV
964- ".csv" : "csv" ,
965- ".tsv" : "tsv" ,
966- // Dockerfile special
967- ".Dockerfile" : "dockerfile" ,
968- // Scheme
969- ".scm" : "scheme" ,
970- // Common Lisp
971- ".lisp" : "commonlisp" ,
972- ".cl" : "commonlisp" ,
973- // Prolog
974- ".pro" : "prolog" ,
975- // Tcl
976- ".tcl" : "tcl" ,
977- // R Markdown
978- ".rmd" : "rmarkdown" ,
979- // Jupyter
980- ".ipynb" : "jupyter" ,
981- // Terraform vars
982- ".tfvars" : "terraform" ,
983- // Protocol Buffers
984- ".pb" : "protobuf" ,
985- // Thrift
986- ".thrift" : "thrift" ,
987- // Avro
988- ".avsc" : "avro" ,
989- // GLSL / HLSL
990- ".glsl" : "glsl" ,
991- ".hlsl" : "hlsl" ,
992- // Cuda
993- ".cu" : "cuda" ,
994- ".cuh" : "cuda" ,
995- // CMakeLists
996- ".cmake.in" : "cmake" ,
997- // Vagrant
998- ".vagrantfile" : "ruby" ,
999- // Puppet
1000- ".pp" : "puppet" ,
1001- // Chef
1002- ".erb" : "erb" ,
1003- // Ansible
1004- ".j2" : "jinja2" ,
1005- // Svelte
1006- ".svx" : "svelte" ,
1007- // MDX
1008- ".mdx" : "mdx" ,
1009- }
1010-
1011- // DetectLanguageByExtension returns the programming language name for a file
1012- // path based on its extension. Returns "" for unknown extensions.
1013- func DetectLanguageByExtension (path string ) string {
1014- ext := filepath .Ext (path )
1015- if ext == "" {
1016- return ""
1017- }
1018- if lang , ok := extensionLanguageMap [ext ]; ok {
1019- return lang
1020- }
1021- // Try lowercase for case-insensitive matching (except .R which is special)
1022- if lang , ok := extensionLanguageMap [strings .ToLower (ext )]; ok {
1023- return lang
1024- }
1025- return ""
1026- }
764+ // extensionLanguageMap and DetectLanguageByExtension moved to chunker_extensions.go.
0 commit comments