diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..10c6d5f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,46 @@ +name: Bug Report +description: File a bug report +title: "[Bug]: " +labels: ["bug", "triage"] +assignees: + - octocat +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report! + - type: textarea + id: what-happened + attributes: + label: What happened? + description: Also tell us, what did you expect to happen? + placeholder: Tell us what you see! + value: "A bug happened!" + validations: + required: true + - type: dropdown + id: version + attributes: + label: Version + description: What version of our software are you running? + options: + - 1.0.2 (Default) + - 1.0.3 (Edge) + validations: + required: true + - type: dropdown + id: browsers + attributes: + label: What browsers are you seeing the problem on? + multiple: true + options: + - Firefox + - Chrome + - Safari + - Microsoft Edge + - type: textarea + id: logs + attributes: + label: Relevant log output + description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks. + render: shell diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..21480b8 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,8 @@ +blank_issues_enabled: false +contact_links: + - name: GitHub Community Support + url: https://github.community/ + about: Please ask and answer questions here. + - name: Gitter + url: https://gitter.im/ + about: https://gitter.im/ diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..3ad6d13 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,39 @@ +name: Feature Request +description: Suggest an idea for this project +title: "[Feature]: " +labels: ["enhancement"] +assignees: + - octocat +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to suggest a new feature! + - type: textarea + id: problem + attributes: + label: Is your feature request related to a problem? Please describe. + description: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + placeholder: I have a problem with... + validations: + required: true + - type: textarea + id: solution + attributes: + label: Describe the solution you'd like + description: A clear and concise description of what you want to happen. + placeholder: I want to happen... + validations: + required: true + - type: textarea + id: alternatives + attributes: + label: Describe alternatives you've considered + description: A clear and concise description of any alternative solutions or features you've considered. + placeholder: I also considered... + - type: textarea + id: additional-context + attributes: + label: Additional context + description: Add any other context or screenshots about the feature request here. + placeholder: Here is some context... diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..a745c8f --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,37 @@ +# Description + +Please include a summary of the changes and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change. + +Fixes # (issue) + +## Type of change + +- [ ] Bug fix (non-breaking change which fixes an issue) +- [ ] New feature (non-breaking change which adds functionality) +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) +- [ ] Documentation update + +# How Has This Been Tested? + +Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration + +- [ ] Test A +- [ ] Test B + +**Test Configuration**: + +- Firmware version: +- Hardware: +- Toolchain: +- SDK: + +# Checklist: + +- [ ] My code follows the style guidelines of this project +- [ ] I have performed a self-review of my own code +- [ ] I have commented my code, particularly in hard-to-understand areas +- [ ] I have made corresponding changes to the documentation +- [ ] My changes generate no new warnings +- [ ] I have added tests that prove my fix is effective or that my feature works +- [ ] New and existing unit tests pass locally with my changes +- [ ] Any dependent changes have been merged and published in downstream modules diff --git a/.gitignore b/.gitignore index bf66d26..cb65be2 100644 --- a/.gitignore +++ b/.gitignore @@ -18,7 +18,7 @@ vendor/ go.work # Binary -vex +cello # IDE .vscode/ diff --git a/.goreleaser.yml b/.goreleaser.yml index c2651b7..f6e33c2 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -43,12 +43,12 @@ changelog: brews: - name: cello - homepage: "https://github.com/CodeOne45/cello-tui" + homepage: "https://github.com/SreeAditya-Dev/Cello-TUI" description: "Beautiful terminal Excel and CSV viewer with vim-style keybindings" license: "MIT" repository: - owner: CodeOne45 + owner: SreeAditya-Dev name: homebrew-tap install: | diff --git a/CHANGELOG.md b/CHANGELOG.md index dd02a6a..345312b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,254 +5,18 @@ All notable changes to Cello will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [2.0.1] - 2024-12-14 - -### Fixed - -- Configure Homebrew tap for macOS installation -- Version description update in `printVersion` function - -## [2.0.0] - 2024-12-14 - -### πŸŽ‰ Major Release - Full Editing Capabilities - -This is a major release that transforms Cello from a viewer into a full-featured terminal spreadsheet editor with formula support. - -### ✨ Added - -#### Edit Mode & Cell Operations - -- **Full cell editing** with `i` key to enter edit mode -- **Tab/Shift+Tab navigation** in edit mode to move between cells while editing -- **Formula support** with 15+ built-in functions -- **Delete operations**: Delete cell (`x`), row (`dd`), column (`dc`) -- **Insert operations**: Insert row (`o`), column (`O`) -- **Copy/Paste**: Enhanced clipboard operations with multi-cell paste support -- **Fill operations**: Fill down (`Ctrl+J`), fill right (`Ctrl+L`) -- **Apply formula to range** (`Ctrl+A`) - Apply current cell's formula to selected range with automatic reference adjustment - -#### Formula Engine - -- Arithmetic operations: `+`, `-`, `*`, `/` -- **SUM(range)** - Sum of values in range -- **AVERAGE(range) / AVG(range)** - Average of values -- **COUNT(range)** - Count numeric values -- **MAX(range)** - Maximum value in range -- **MIN(range)** - Minimum value in range -- **IF(condition, true_val, false_val)** - Conditional logic -- **CONCATENATE(...) / CONCAT(...)** - Combine text -- **UPPER(text) / LOWER(text)** - Change case -- **LEN(text)** - Text length -- **ROUND(number, digits)** - Round number -- **ABS(number)** - Absolute value -- **SQRT(number)** - Square root -- **POWER(base, exp) / POW(base, exp)** - Exponentiation -- **Automatic formula recalculation** when cells change -- **Relative cell references** that adjust when formulas are copied/applied - -#### File Operations - -- **Save functionality** (`Ctrl+S`) - Save changes to Excel or CSV -- **Save As** (`Ctrl+Shift+S`) - Save to new filename -- **Format preservation** - Excel files maintain formulas, CSV saves formulas as text -- **Modified file tracking** - Visual indicator when file has unsaved changes -- **Quit confirmation** - Double-tap `q` to quit without saving when modified - -#### Enhanced UX - -- **Edit mode indicator** - Clear visual feedback when in edit mode -- **Formula bar** - Shows current cell formula or value -- **Status messages** - Informative feedback for all operations -- **Modified indicator** - `[Modified]` tag when file has unsaved changes -- **Smart formula application** - Formulas automatically adjust cell references when applied to ranges - -### πŸ”§ Changed - -- **Enter key behavior** - Now opens cell detail view in normal mode, commits edit in edit mode -- **Enhanced selection** - Selection now shows formula application option -- **Improved status bar** - Shows edit mode, modification status, and current operation -- **Better error handling** - Clear error messages for invalid operations - -### πŸ› Fixed - -- **Quit confirmation** - Properly handles unsaved changes with double-quit pattern -- **Cell boundary checks** - No more crashes when editing at sheet boundaries -- **Formula evaluation** - Improved error handling for invalid formulas -- **Memory management** - Better handling of large sheets during edit operations - -### πŸ“š Documentation - -- Added comprehensive editing guide -- Formula reference documentation -- Keyboard shortcuts updated with all new bindings -- Usage examples for common editing scenarios - -### ⌨️ New Keyboard Shortcuts - -**Edit Mode:** - -- `i` - Enter edit mode -- `Enter` - Commit changes (in edit mode) -- `Tab` - Save and move to next cell -- `Shift+Tab` - Save and move to previous cell -- `Esc` - Cancel editing - -**Cell Operations:** - -- `x` - Delete cell content -- `dd` - Delete row -- `dc` - Delete column -- `o` - Insert row below -- `O` - Insert column right -- `p` - Paste from clipboard - -**File Operations:** - -- `Ctrl+S` - Save file -- `Ctrl+Shift+S` - Save as -- `q` (twice) - Quit without saving (when modified) - -**Formula Operations:** - -- `Ctrl+A` - Apply formula to selected range -- `Ctrl+J` - Fill down -- `Ctrl+L` - Fill right -- `f` - Toggle formula display - -### πŸ’‘ Usage Examples - -**Basic Editing:** - -``` -1. Press 'i' on any cell to start editing -2. Type your value or formula (e.g., =A1+B1) -3. Press Enter to save -4. Press Ctrl+S to save the file -``` - -**Formula Application:** - -``` -1. Create a formula in cell A1: =B1+C1 -2. Press 'V' to start selection at A1 -3. Move to A10 and press 'V' again -4. Move cursor to A1 -5. Press Ctrl+A to apply formula to entire range - (A1=B1+C1, A2=B2+C2, A3=B3+C3, etc.) -``` - -**Quick Data Entry:** - -``` -1. Press 'i' to edit cell -2. Type value and press Tab -3. Continue typing in next cell -4. Repeat for fast data entry -``` - -## [1.1.1] - 2024-12-04 - -### Fixed - -- Fixed GitHub CI "no such tool covdata" error by removing race detector from coverage tests -- Fixed CI workflow to properly run across different Go versions and platforms +## [1.0.0] - 2026-02-03 ### Added -- Added `--version` / `-v` flag to display version information -- Added `--help` / `-h` flag to display usage information -- Improved CLI argument parsing with proper flag handling -- Added comprehensive help text with examples and keyboard shortcuts - -### Changed - -- Improved error messages and user feedback -- Enhanced CI workflow with separate lint job -- Updated release workflow for better reliability - -## [1.1.0] - 2024-11-27 - -### Added - -- Live ASCII charts (Bar, Line, Sparkline, Pie) -- 'v' visualization window -- Auto-scaling and grid-based rendering - -## [1.0.0] - 2024-11-26 - -### Added - -#### Themes & Visuals - -- Six professional themes (Catppuccin, Nord, RosΓ© Pine, Tokyo Night, Gruvbox, Dracula) -- Theme switcher accessible with `t` key -- CLI flag `--theme` for setting theme on launch -- Visual highlighting for rows, columns, and search matches -- Color-coded status messages (info, success, warning, error) -- Dynamic style system that updates on theme change - -#### Search & Navigation - -- Vim-style search bar at bottom of screen -- Persistent search display with active query -- Search highlighting with yellow background -- Jump to cell feature (Ctrl+G) supporting multiple formats -- Viewport auto-centering when jumping -- Smart viewport scrolling - -#### Cell Operations - -- Cell detail modal (Enter key) -- Copy entire row feature (Shift+C) -- Enhanced copy cell with preview -- Formula display toggle - -#### UI Improvements - -- Formula bar showing current cell info -- Enhanced status bar with position, mode, and search results -- Compact help display -- Beautiful centered modals for dialogs -- Real-time status messages for all operations - -### Changed - -- Complete code restructure following Go best practices -- Modular architecture with clean separation of concerns -- Improved error handling throughout -- Better state management -- Enhanced performance for large files - -### Fixed - -- Panic on startup with uninitialized terminal size -- Negative viewport calculations -- Empty cell handling -- Memory leaks with file operations - -### Security - -- Added input validation and sanitization -- Safe file handling with proper cleanup -- No code execution from formulas -- Read-only file access by default - -## [0.0.1] - 2024-01-26 - -### Added - -- Initial release -- Multi-format support (.xlsx, .xlsm, .xls, .csv) -- Basic TUI with Bubble Tea framework -- Search functionality -- Formula display -- Clipboard support -- Export to CSV/JSON -- Vim-style navigation -- Multiple sheet support - -[2.0.0]: https://github.com/CodeOne45/cello-tui/releases/tag/v2.0.0 -[1.1.1]: https://github.com/CodeOne45/cello-tui/releases/tag/v1.1.1 -[1.1.0]: https://github.com/CodeOne45/cello-tui/releases/tag/v1.1.0 -[1.0.0]: https://github.com/CodeOne45/cello-tui/releases/tag/v1.0.0 -[0.0.1]: https://github.com/CodeOne45/cello-tui/releases/tag/v0.0.1 +- Initial release of Cello TUI +- Full-featured terminal spreadsheet editor +- Vim-style keybindings +- Formula support +- Live data visualization (Charts) +- Multiple themes (Catppuccin, Nord, etc.) +- Excel (.xlsx) and CSV support +- AI-powered formula generation +- Data cleaning tools + +[1.0.0]: https://github.com/SreeAditya-Dev/Cello-TUI/releases/tag/v1.0.0 diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..fa61b9c --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,131 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +- Demonstrating empathy and kindness toward other people +- Being respectful of differing opinions, viewpoints, and experiences +- Giving and gracefully accepting constructive feedback +- Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +- Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +- The use of sexualized language or imagery, and sexual attention or + advances of any kind +- Trolling, insulting or derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or email + address, without their explicit permission +- Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at [INSERT EMAIL ADDRESS]. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series of +actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.1, available at +[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. + +Community Impact Guidelines were inspired by +[Mozilla's code of conduct enforcement ladder][Mozilla CoC]. + +For answers to common questions about this code of conduct, see the FAQ at +[https://www.contributor-covenant.org/faq][FAQ]. Translations are available +at [https://www.contributor-covenant.org/translations][translations]. + +[homepage]: https://www.contributor-covenant.org +[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html +[Mozilla CoC]: https://github.com/mozilla/diversity +[FAQ]: https://www.contributor-covenant.org/faq +[translations]: https://www.contributor-covenant.org/translations diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 68525d1..145533c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -41,11 +41,11 @@ Enhancement suggestions are tracked as GitHub issues. When creating an enhanceme ```bash # Clone your fork -git clone https://github.com/CodeOne45/cello-tui.git +git clone https://github.com/SreeAditya-Dev/Cello-TUI.git cd cello-tui # Add upstream remote -git remote add upstream https://github.com/cello-tui/cello-tui.git +git remote add upstream https://github.com/SreeAditya-Dev/Cello-TUI.git # Install dependencies go mod download diff --git a/INSTALL.md b/INSTALL.md index 5ae0169..abe3f98 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -22,12 +22,12 @@ This document provides detailed installation instructions for Excel TUI on vario ### Using go install ```bash -go install github.com/CodeOne45/cello-tui@latest +go install github.com/SreeAditya-Dev/Cello-TUI@latest ``` ### Download Pre-built Binaries -1. Visit the [releases page](https://github.com/CodeOne45/cello-tui/releases) +1. Visit the [releases page](https://github.com/SreeAditya-Dev/Cello-TUI/releases) 2. Download the appropriate binary for your platform 3. Extract and move to your PATH @@ -46,7 +46,7 @@ brew install cello ```bash # Download latest release -curl -L https://github.com/CodeOne45/cello-tui/releases/latest/download/cello-darwin-arm64.tar.gz -o cello-tui.tar.gz +curl -L https://github.com/SreeAditya-Dev/Cello-TUI/releases/latest/download/cello-darwin-arm64.tar.gz -o cello-tui.tar.gz # Extract tar xzf cello-tui.tar.gz @@ -82,7 +82,7 @@ sudo dnf install cello ```bash # Download latest release -wget https://github.com/CodeOne45/cello-tui/releases/latest/download/cello-linux-amd64.tar.gz +wget https://github.com/SreeAditya-Dev/Cello-TUI/releases/latest/download/cello-linux-amd64.tar.gz # Extract tar xzf cello-linux-amd64.tar.gz @@ -120,7 +120,7 @@ scoop install cello #### Manual Installation -1. Download `cellowindows-amd64.zip` from [releases](https://github.com/CodeOne45/cello-tui/releases/latest) +1. Download `cellowindows-amd64.zip` from [releases](https://github.com/SreeAditya-Dev/Cello-TUI/releases/latest) 2. Extract the ZIP file 3. Add the directory to your PATH: - Right-click "This PC" β†’ Properties @@ -146,7 +146,7 @@ go version ```bash # Clone the repository -git clone https://github.com/CodeOne45/cello-tui.git +git clone https://github.com/SreeAditya-Dev/Cello-TUI.git cd cello # Install dependencies @@ -319,13 +319,13 @@ After successful installation: 1. Read the [README](README.md) for feature overview 2. Check [CONTRIBUTING](CONTRIBUTING.md) if you want to contribute -3. Report issues on [GitHub](https://github.com/CodeOne45/cello-tui/issues) +3. Report issues on [GitHub](https://github.com/SreeAditya-Dev/Cello-TUI/issues) ## Support If you encounter issues not covered here: -- Check [existing issues](https://github.com/CodeOne45/cello-tui/issues) +- Check [existing issues](https://github.com/SreeAditya-Dev/Cello-TUI/issues) - Create a new issue with: - Your OS and version - Go version (if building from source) diff --git a/OSS_SETUP_GUIDE.md b/OSS_SETUP_GUIDE.md new file mode 100644 index 0000000..36e382e --- /dev/null +++ b/OSS_SETUP_GUIDE.md @@ -0,0 +1,45 @@ +# Open Source Setup Guide + +This guide describes the manual steps required to configure your GitHub repository for open source best practices. + +## 1. Repository Settings + +Go to `Settings` > `General`: + +- [ ] **Features**: Enable `Issues`, `Discussions` (optional but recommended for community building). +- [ ] **Pull Requests**: + - [ ] Allow merge commits: **Disabled** (keeps history clean) + - [ ] Allow squash merging: **Enabled** (best for PRs) + - [ ] Allow rebase merging: **Disabled** (can appear complex for some contributors) + - [ ] Automatically delete head branches: **Enabled** (cleanup) + +## 2. Branch Protection Rules + +Go to `Settings` > `Branches` > `Add branch ruleset` or `Add rule`: +_Target branch_: `main` + +- [ ] **Require a pull request before merging**: + - [ ] Require approvals: **1** (at least) + - [ ] Dismiss stale pull request approvals when new commits are pushed: **Enabled** +- [ ] **Require status checks to pass before merging**: + - Search for and select your CI jobs: `Test`, `Lint`, `Build` (from your `ci.yml`). + - [ ] Require branches to be up to date before merging: **Enabled** +- [ ] **Do not allow bypassing the above settings**: **Enabled** (applies to admins too). + +## 3. Community Profile + +Go to `Insights` > `Community Standards` to verify that GitHub recognizes all your new files (`CODE_OF_CONDUCT`, `CONTRIBUTING`, templates, etc.). + +## 4. Security + +Go to `Settings` > `Security & analysis`: + +- [ ] **Dependabot alerts**: Enabled +- [ ] **Secret scanning**: Enabled +- [ ] **Code scanning**: Enabled (if available) + +## 5. Topics + +Go to the main repository page (Code tab) and click the gear icon next to "About". + +- Add topics: `tui`, `go`, `cli`, `spreadsheet`, `terminal` for better discoverability. diff --git a/SECURITY.md b/SECURITY.md index 487732b..59ecf4d 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -6,6 +6,7 @@ We release patches for security vulnerabilities for the following versions: | Version | Supported | | ------- | ------------------ | +| 2.1.x | :white_check_mark: | | 2.0.x | :white_check_mark: | | < 2.0 | :x: | @@ -96,7 +97,7 @@ This project follows: For security concerns, contact: - Email: security@cello-tui.dev -- GitHub Security Advisory: [Create Advisory](https://github.com/CodeOne45/cello-tui/security/advisories/new) +- GitHub Security Advisory: [Create Advisory](https://github.com/SreeAditya-Dev/Cello-TUI/security/advisories/new) --- diff --git a/examples/sample_data.csv b/examples/sample_data.csv index 68cc2b7..e0c8641 100644 --- a/examples/sample_data.csv +++ b/examples/sample_data.csv @@ -1,16 +1,11 @@ -Product,Category,Price,Quantity,Revenue,Profit Margin,Region,Sales Rep -Laptop Pro,Electronics,1299.99,45,58499.55,35%,North,Alice Johnson -Wireless Mouse,Accessories,29.99,234,7017.66,48%,South,Bob Smith -USB-C Hub,Accessories,49.99,156,7798.44,42%,East,Carol Davis -Monitor 27,Electronics,399.99,89,35599.11,28%,West,David Wilson -Keyboard Mechanical,Accessories,149.99,78,11699.22,52%,North,Alice Johnson -Webcam 4k,Electronics,79.99,123,9838.77,45%,South,Bob Smith -Desk Lamp,Office,34.99,267,9342.33,38%,East,Carol Davis -Office Chair,Furniture,249.99,34,8499.66,25%,West,David Wilson -Notebook Set,Office,12.99,445,5780.55,65%,North,Alice Johnson -Pen Pack,Office,4.99,892,4451.08,70%,South,Bob Smith -Laptop Stand,Accessories,39.99,167,6678.33,44%,East,Carol Davis -Cable Organizer,Accessories,14.99,334,5006.66,58%,West,David Wilson -Phone Holder,Accessories,19.99,289,5777.11,55%,North,Alice Johnson -Headphones Pro,Electronics,199.99,67,13399.33,32%,South,Bob Smith -Mouse Pad XL,Accessories,24.99,198,4946.02,60%,East,Carol Davis +ID,Name,Department,Role,Salary,Join Date,Active +EMP001,John Smith,Engineering,Senior Developer,125000,2023-01-15,TRUE +EMP002,Sarah Johnson,Marketing,Head of Growth,115000,2023-02-01,TRUE +EMP003,Michael Brown,Engineering,DevOps Engineer,130000,2023-01-20,TRUE +EMP004,Emily Davis,Design,Lead Designer,105000,2023-03-10,TRUE +EMP005,David Wilson,Product,Product Manager,120000,2023-02-15,FALSE +EMP006,Jessica Miller,Sales,Account Executive,95000,2023-04-01,TRUE +EMP007,James Taylor,Engineering,Frontend Dev,110000,2023-03-05,TRUE +EMP008,Lisa Anderson,Marketing,Content Strategist,85000,2023-05-12,TRUE +EMP009,Robert Martin,Finance,Financial Analyst,90000,2023-04-20,TRUE +EMP010,Jennifer White,HR,HR Manager,100000,2023-01-10,TRUE diff --git a/go.mod b/go.mod index 28d808f..c73c7d6 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/CodeOne45/cello-tui +module github.com/SreeAditya-Dev/Cello-TUI go 1.25 diff --git a/internal/ai/formula_generator.go b/internal/ai/formula_generator.go index 1eede10..7784c16 100644 --- a/internal/ai/formula_generator.go +++ b/internal/ai/formula_generator.go @@ -10,7 +10,7 @@ import ( "strings" "time" - "github.com/CodeOne45/cello-tui/internal/config" + "github.com/SreeAditya-Dev/Cello-TUI/internal/config" ) // FormulaGenerator handles AI-powered formula generation diff --git a/internal/app/config_tui.go b/internal/app/config_tui.go index 120f04b..18dba72 100644 --- a/internal/app/config_tui.go +++ b/internal/app/config_tui.go @@ -4,9 +4,9 @@ import ( "fmt" "strings" - "github.com/CodeOne45/cello-tui/internal/config" - "github.com/CodeOne45/cello-tui/internal/theme" - "github.com/CodeOne45/cello-tui/internal/ui" + "github.com/SreeAditya-Dev/Cello-TUI/internal/config" + "github.com/SreeAditya-Dev/Cello-TUI/internal/theme" + "github.com/SreeAditya-Dev/Cello-TUI/internal/ui" "github.com/charmbracelet/bubbles/textinput" tea "github.com/charmbracelet/bubbletea" "github.com/charmbracelet/lipgloss" diff --git a/internal/app/edit.go b/internal/app/edit.go index b1ae85a..c3e2ba2 100644 --- a/internal/app/edit.go +++ b/internal/app/edit.go @@ -5,10 +5,10 @@ import ( "strconv" "strings" - "github.com/CodeOne45/cello-tui/internal/loader" - "github.com/CodeOne45/cello-tui/internal/theme" - "github.com/CodeOne45/cello-tui/internal/ui" - "github.com/CodeOne45/cello-tui/pkg/models" + "github.com/SreeAditya-Dev/Cello-TUI/internal/loader" + "github.com/SreeAditya-Dev/Cello-TUI/internal/theme" + "github.com/SreeAditya-Dev/Cello-TUI/internal/ui" + "github.com/SreeAditya-Dev/Cello-TUI/pkg/models" "github.com/atotto/clipboard" "github.com/charmbracelet/bubbles/textinput" tea "github.com/charmbracelet/bubbletea" diff --git a/internal/app/formulas.go b/internal/app/formulas.go index 4401a13..a9c5712 100644 --- a/internal/app/formulas.go +++ b/internal/app/formulas.go @@ -6,7 +6,7 @@ import ( "strconv" "strings" - "github.com/CodeOne45/cello-tui/pkg/models" + "github.com/SreeAditya-Dev/Cello-TUI/pkg/models" ) type FormulaEngine struct { diff --git a/internal/app/model.go b/internal/app/model.go index 2b3c6da..3759e1d 100644 --- a/internal/app/model.go +++ b/internal/app/model.go @@ -1,11 +1,11 @@ package app import ( - "github.com/CodeOne45/cello-tui/internal/ai" - "github.com/CodeOne45/cello-tui/internal/config" - "github.com/CodeOne45/cello-tui/internal/theme" - "github.com/CodeOne45/cello-tui/internal/ui" - "github.com/CodeOne45/cello-tui/pkg/models" + "github.com/SreeAditya-Dev/Cello-TUI/internal/ai" + "github.com/SreeAditya-Dev/Cello-TUI/internal/config" + "github.com/SreeAditya-Dev/Cello-TUI/internal/theme" + "github.com/SreeAditya-Dev/Cello-TUI/internal/ui" + "github.com/SreeAditya-Dev/Cello-TUI/pkg/models" "github.com/charmbracelet/bubbles/help" "github.com/charmbracelet/bubbles/textinput" ) diff --git a/internal/app/update.go b/internal/app/update.go index 759257e..f500d28 100644 --- a/internal/app/update.go +++ b/internal/app/update.go @@ -5,11 +5,11 @@ import ( "strconv" "strings" - "github.com/CodeOne45/cello-tui/internal/ai" - "github.com/CodeOne45/cello-tui/internal/config" - "github.com/CodeOne45/cello-tui/internal/loader" - "github.com/CodeOne45/cello-tui/internal/ui" - "github.com/CodeOne45/cello-tui/pkg/models" + "github.com/SreeAditya-Dev/Cello-TUI/internal/ai" + "github.com/SreeAditya-Dev/Cello-TUI/internal/config" + "github.com/SreeAditya-Dev/Cello-TUI/internal/loader" + "github.com/SreeAditya-Dev/Cello-TUI/internal/ui" + "github.com/SreeAditya-Dev/Cello-TUI/pkg/models" "github.com/atotto/clipboard" "github.com/charmbracelet/bubbles/key" "github.com/charmbracelet/bubbles/textinput" diff --git a/internal/app/view.go b/internal/app/view.go index 91c7cff..4a67f30 100644 --- a/internal/app/view.go +++ b/internal/app/view.go @@ -6,10 +6,10 @@ import ( "strconv" "strings" - "github.com/CodeOne45/cello-tui/internal/config" - "github.com/CodeOne45/cello-tui/internal/theme" - "github.com/CodeOne45/cello-tui/internal/ui" - "github.com/CodeOne45/cello-tui/pkg/models" + "github.com/SreeAditya-Dev/Cello-TUI/internal/config" + "github.com/SreeAditya-Dev/Cello-TUI/internal/theme" + "github.com/SreeAditya-Dev/Cello-TUI/internal/ui" + "github.com/SreeAditya-Dev/Cello-TUI/pkg/models" "github.com/charmbracelet/lipgloss" ) diff --git a/internal/chart/chart.go b/internal/chart/chart.go index da2cf3b..215b943 100644 --- a/internal/chart/chart.go +++ b/internal/chart/chart.go @@ -6,7 +6,7 @@ import ( "strconv" "strings" - "github.com/CodeOne45/cello-tui/pkg/models" + "github.com/SreeAditya-Dev/Cello-TUI/pkg/models" "github.com/charmbracelet/lipgloss" ) diff --git a/internal/loader/loader.go b/internal/loader/loader.go index 4306cbd..2c41a6c 100644 --- a/internal/loader/loader.go +++ b/internal/loader/loader.go @@ -8,7 +8,7 @@ import ( "path/filepath" "strings" - "github.com/CodeOne45/cello-tui/pkg/models" + "github.com/SreeAditya-Dev/Cello-TUI/pkg/models" "github.com/xuri/excelize/v2" ) diff --git a/internal/loader/save.go b/internal/loader/save.go index 22dbf75..5b27537 100644 --- a/internal/loader/save.go +++ b/internal/loader/save.go @@ -5,7 +5,7 @@ import ( "fmt" "os" - "github.com/CodeOne45/cello-tui/pkg/models" + "github.com/SreeAditya-Dev/Cello-TUI/pkg/models" "github.com/xuri/excelize/v2" ) diff --git a/internal/ui/ui.go b/internal/ui/ui.go index 5153000..fbc9a9f 100644 --- a/internal/ui/ui.go +++ b/internal/ui/ui.go @@ -4,8 +4,8 @@ import ( "strconv" "strings" - "github.com/CodeOne45/cello-tui/internal/theme" - "github.com/CodeOne45/cello-tui/pkg/models" + "github.com/SreeAditya-Dev/Cello-TUI/internal/theme" + "github.com/SreeAditya-Dev/Cello-TUI/pkg/models" "github.com/charmbracelet/lipgloss" ) diff --git a/main.go b/main.go index 55b0228..8d11bcc 100644 --- a/main.go +++ b/main.go @@ -5,8 +5,8 @@ import ( "fmt" "os" - "github.com/CodeOne45/cello-tui/internal/app" - "github.com/CodeOne45/cello-tui/internal/loader" + "github.com/SreeAditya-Dev/Cello-TUI/internal/app" + "github.com/SreeAditya-Dev/Cello-TUI/internal/loader" tea "github.com/charmbracelet/bubbletea" ) @@ -101,7 +101,7 @@ func runConfigTUI() { func printVersion() { fmt.Printf("cello version %s\n", version) fmt.Println("A beautiful terminal-based Excel and CSV viewer & editor.") - fmt.Println("\nProject: https://github.com/CodeOne45/cello-tui") + fmt.Println("\nProject: https://github.com/SreeAditya-Dev/Cello-TUI") } func printHelp() { @@ -133,7 +133,7 @@ func printHelp() { fmt.Println(" Actions: Enter (details), Ctrl+G (jump), c (copy)") fmt.Println(" Data viz: V (select range), v (visualize)") fmt.Println(" Other: e (export), t (theme), f (formulas), ? (help), q (quit)") - fmt.Println("\nFor more information, visit: https://github.com/CodeOne45/cello-tui") + fmt.Println("\nFor more information, visit: https://github.com/SreeAditya-Dev/Cello-TUI") } func printUsage() {