Public declaration syntax from forge-rs/crates/forge-codebase/src/structure.rs Original source SHA-256: 400b2cb202ba288730043722575a531691282f55e11bb9efd584bf52fbc4b03f Function bodies and constant values are omitted. This is not the complete implementation. Source line 33 #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)] #[serde(rename_all = "snake_case")] pub enum FileClassification { /// Source code files (.rs, .ts, .go, .py, etc.) Source, /// Test files (files in test directories or with test suffixes) Test, /// Configuration files (Cargo.toml, package.json, .env, etc.) Config, /// Documentation files (.md, .txt, .rst, etc.) Documentation, /// Build artifacts and generated files Generated, /// CI/CD configuration (.github/workflows, .gitlab-ci.yml, etc.) Ci, /// Data files (.json, .yaml, .csv, .sql, etc.) Data, /// Media files (images, fonts, etc.) Media, /// Lock files (Cargo.lock, package-lock.json, etc.) Lock, /// Schema files (.json schema, .proto, .graphql, etc.) Schema, /// Unknown file type Unknown, } Source line 60 pub fn as_str(&self) -> &'static str; Source line 95 #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)] #[serde(rename_all = "snake_case")] pub enum Language { /// Rust (.rs) Rust, /// TypeScript (.ts, .tsx) TypeScript, /// JavaScript (.js, .jsx, .mjs, .cjs) JavaScript, /// Go (.go) Go, /// Python (.py) Python, /// Swift (.swift) Swift, /// Kotlin (.kt, .kts) Kotlin, /// Java (.java) Java, /// C (.c, .h) C, /// C++ (.cpp, .cc, .cxx, .hpp, .hh) Cpp, /// Shell (.sh, .bash, .zsh) Shell, /// SQL (.sql) Sql, /// HTML (.html, .htm) Html, /// CSS (.css, .scss, .sass, .less) Css, /// TOML (.toml) Toml, /// YAML (.yaml, .yml) Yaml, /// JSON (.json) Json, /// Markdown (.md) Markdown, /// Protocol Buffers (.proto) Protobuf, /// GraphQL (.graphql, .gql) GraphQL, /// Zig (.zig) Zig, } Source line 142 pub fn as_str(&self) -> &'static str; Source line 200 pub fn classify_file(path: &str) -> FileClassification; Source line 368 pub fn detect_language(path: &str) -> Option;