Skip to content

Commit c369e30

Browse files
Patel230cursoragent
andcommitted
refactor(tok): split chunker.go into chunker_extensions.go
Move the extensionLanguageMap literal and DetectLanguageByExtension into a new same-package file chunker_extensions.go to keep chunker.go under 1000 LOC. Pure mechanical move; no behavior or API changes. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 5df7ee7 commit c369e30

2 files changed

Lines changed: 271 additions & 263 deletions

File tree

chunker.go

Lines changed: 1 addition & 263 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)