Skip to content

Commit e4f137f

Browse files
committed
docs: Update versioning section in README
Remove releases link since no releases exist yet. Add note about future v1.0.0 release.
1 parent 21c0527 commit e4f137f

1 file changed

Lines changed: 58 additions & 158 deletions

File tree

README.md

Lines changed: 58 additions & 158 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,19 @@ Parsec is a fast, terminal-based file inspector that provides immediate summarie
44

55
## Features
66

7-
- **Split-screen interface**: File tree on the left, detailed summary on the right
8-
- **Directory navigation**: Browse through subdirectories like a file manager
9-
- **Directory preview**: Shows contents of selected directories in the summary pane
10-
- **Fuzzy search**: Quickly find files with real-time fuzzy matching (press `/`)
11-
- **Multi-language support**: Go, Python, JavaScript, TypeScript, Rust, Java, C/C++, and more
12-
- **Enhanced file parsing**:
13-
- **Markdown rendering**: Beautiful terminal markdown with syntax highlighting
14-
- **Configuration files**: JSON, YAML, INI, ENV, and more
15-
- **Text files**: Preview with line counts and content display
16-
- **Executable help**: Automatically shows help output for executables
17-
- **Intelligent parsing**: Extracts functions, imports, types, and structs
18-
- **Rich file icons**: Visual file type indicators for over 50 file types
19-
- **Responsive design**: Automatically adapts to terminal resize events
20-
- **Fast navigation**: Keyboard-driven interface with vim-style keybindings
21-
- **Async operations**: Non-blocking file summarization for smooth UX
7+
- Split-screen interface with file tree and detailed summary view
8+
- Directory navigation with live content preview
9+
- Real-time fuzzy search capabilities
10+
- Multi-language support: Go, Python, JavaScript, TypeScript, Rust, Java, C/C++
11+
- Enhanced file parsing:
12+
- Markdown rendering with syntax highlighting
13+
- Configuration file parsing (JSON, YAML, INI, ENV)
14+
- Text file preview with line counts
15+
- Executable help text extraction
16+
- Intelligent parsing of functions, imports, types, and structs
17+
- Responsive design with terminal resize handling
18+
- Keyboard-driven interface with vim-style bindings
19+
- Asynchronous operations for smooth performance
2220

2321
## Installation
2422

@@ -37,13 +35,11 @@ go build .
3735
# Scan specific directory
3836
./parsec /path/to/project
3937

40-
# Windows examples
38+
# Windows paths
4139
./parsec "C:\Users\username\Projects"
42-
./parsec "C:\Program Files\MyApp"
4340

44-
# Unix examples
41+
# Unix paths
4542
./parsec /home/user/code
46-
./parsec ~/Documents/projects
4743

4844
# Show help
4945
./parsec -h
@@ -62,159 +58,63 @@ go build .
6258
| `r` | Refresh current directory |
6359
| `q` or `Ctrl+C` | Quit |
6460

65-
### Fuzzy Search Mode
61+
## Supported File Types
6662

67-
| Key | Action |
68-
|-----|--------|
69-
| `Type` | Add characters to search query |
70-
| `Backspace` | Remove last character |
71-
| `Enter` | Confirm search and stay filtered |
72-
| `ESC` | Cancel search and show all files |
73-
74-
## Fuzzy Search
75-
76-
Parsec includes powerful fuzzy search capabilities:
77-
78-
- **Real-time filtering**: Files are filtered as you type, with instant results
79-
- **Fuzzy matching**: Find files even with typos or partial names (e.g., `mago` matches `main.go`)
80-
- **Smart scoring**: Files are ranked by relevance, with better matches appearing first
81-
- **Visual feedback**: Search query and cursor are displayed at the bottom
82-
- **Easy control**: Enter search mode with `/`, exit with `ESC`, or confirm with `Enter`
83-
84-
### Example Usage
85-
- Press `/` to start searching
86-
- Type `mai` to find `main.go`, `Makefile`, etc.
87-
- Type `sum.go` to find `ui/summary.go`
88-
- Use `Backspace` to refine your search
89-
- Press `Enter` to keep the filtered results
90-
- Press `ESC` to show all files again
91-
92-
## Directory Navigation
93-
94-
Parsec supports intuitive directory navigation with live preview:
95-
96-
- **Current path display**: Shows your current location at the top
97-
- **Directory preview**: Hover over any directory to see its contents in the summary pane
98-
- **Enter directories**: Press `Enter` on a directory to navigate into it
99-
- **Go up**: Use the `..` entry (marked with ⬆️) to go up one level
100-
- **Breadcrumb navigation**: Current directory path is displayed relative to starting point
101-
- **Smart filtering**: Only shows source files and relevant directories
102-
- **Content statistics**: See file/directory counts and listings before entering
103-
104-
## Architecture
105-
106-
### Core Components
107-
108-
- **File Walker**: Lists directory contents and identifies file types
109-
- **Summarizer Engine**: Parses files using language-specific regex patterns
110-
- **TUI Components**: Split-pane interface with responsive layout
111-
- **Async Worker**: Background file processing for smooth interaction
112-
113-
### Supported File Types
114-
115-
| Category | Extensions | Features Detected |
116-
|----------|------------|-------------------|
117-
| **Programming Languages** | | |
118-
| Go | `.go` | Functions, types, structs, imports |
119-
| Python | `.py` | Functions, classes, imports |
120-
| JavaScript | `.js` | Functions, classes, imports |
121-
| TypeScript | `.ts` | Functions, interfaces, types, imports |
122-
| Rust | `.rs` | Functions, structs, enums, uses |
123-
| Java | `.java` | Functions, classes, imports |
124-
| C/C++ | `.c`, `.cpp`, `.h`, `.hpp` | Functions, structs, includes |
125-
| **Documentation** | | |
126-
| Markdown | `.md`, `.markdown` | Headers, links, **rendered content** |
127-
| Text | `.txt`, `.rst` | Content preview, line count |
128-
| **Configuration** | | |
129-
| JSON | `.json` | Configuration keys, structure |
130-
| YAML | `.yaml`, `.yml` | Configuration keys, structure |
131-
| INI/Config | `.ini`, `.cfg`, `.conf` | Sections, configuration keys |
132-
| Environment | `.env` | Environment variables |
133-
| **Data Files** | | |
134-
| XML | `.xml` | Content preview, structure |
135-
| CSV | `.csv` | Content preview, data format |
136-
| Log Files | `.log` | Content preview, line count |
137-
| **Executables** | `.exe`, `.bin`, etc. | **Automatic help display** |
63+
| Category | Extensions | Features |
64+
|----------|------------|-----------|
65+
| Programming | `.go` `.py` `.js` `.ts` `.rs` `.java` `.c` `.cpp` | Functions, types, imports |
66+
| Documentation | `.md` `.markdown` `.rst` | Headers, links, rendered content |
67+
| Configuration | `.json` `.yaml` `.ini` `.env` | Keys, structure |
68+
| Data | `.xml` `.csv` `.log` | Content preview |
69+
| Executables | `.exe` `.bin` | Help text extraction |
13870

13971
## Project Structure
14072

14173
```
14274
parsec/
143-
├── main.go # Application entrypoint and UI coordination
144-
├── ui/
145-
│ ├── filelist.go # File navigation component
146-
│ └── summary.go # Summary display component
147-
├── core/
148-
│ └── summarize.go # File parsing and analysis logic
149-
├── utils/
150-
│ └── filewalker.go # Filesystem traversal utilities
151-
└── README.md
75+
├── main.go # Application entrypoint
76+
├── ui/ # Interface components
77+
├── core/ # Analysis engine
78+
├── utils/ # Utilities
79+
└── docs/ # Documentation
15280
```
15381

154-
## Recent Improvements
155-
156-
### Responsive Layout (v1.1)
157-
- Fixed terminal resize handling inconsistencies
158-
- Improved component dimension calculations
159-
- Added minimum size constraints for small terminals
160-
- Enhanced scroll position management during resize events
161-
162-
### Stable Scrolling (v1.2)
163-
- Fixed scrolling behavior to only move content within borders
164-
- Eliminated border/frame shifting during scroll operations
165-
- Implemented fixed-height content areas with padding
166-
- Improved visual stability during navigation
167-
168-
### Directory Navigation (v1.3)
169-
- Added support for browsing through subdirectories
170-
- Implemented breadcrumb navigation with current path display
171-
- Added parent directory navigation with ".." entries
172-
- Enhanced file list to show only current directory contents
173-
- Improved Enter key functionality for directory traversal
174-
175-
### Enhanced File Parsing (v1.4)
176-
- **Markdown rendering**: Beautiful terminal markdown using Glamour with syntax highlighting
177-
- **Configuration file support**: JSON, YAML, INI, ENV with key extraction
178-
- **Text file previews**: Content display with line counts for all text-based files
179-
- **Executable help**: Automatic help command detection and display for executables
180-
- **Rich file icons**: Over 50 file type icons including programming languages, configs, and data files
181-
- **Improved content display**: Better formatting for different file types with appropriate sections
182-
183-
### Fuzzy Search (v1.5)
184-
- **Real-time search**: Instant file filtering as you type with `/` key
185-
- **Fuzzy matching**: Smart algorithm finds files even with partial or mistyped names
186-
- **Search persistence**: Option to keep filtered results or return to full list
187-
- **Visual feedback**: Clear search interface with query display and cursor
188-
- **Enhanced navigation**: Quickly jump to any file in large directories
189-
190-
### Performance Optimizations
191-
- Async file summarization prevents UI blocking
192-
- Efficient regex-based parsing for multiple languages
193-
- Smart directory filtering to skip non-source directories
194-
- Optimized fuzzy search with intelligent ranking
195-
196-
### Code Quality Improvements (v1.6)
197-
- **Codebase cleanup**: Removed unused methods and duplicate code for better maintainability
198-
- **Consolidated parsers**: Simplified file type handling by consolidating similar parsers
199-
- **Extracted common logic**: Unified file selection and summarization logic
200-
- **Improved constants**: Centralized UI dimension constants to eliminate duplication
201-
202-
### Directory Preview (v1.7)
203-
- **Smart directory inspection**: When selecting a directory, shows its contents in the summary pane
204-
- **File and folder counts**: Displays statistics about directory contents (files vs directories)
205-
- **Rich file listings**: Shows up to 20 items with appropriate file type icons
206-
- **Empty directory handling**: Special message for empty directories with navigation hints
207-
- **Parent directory info**: Clear indication when selecting ".." with destination path
208-
- **Instant feedback**: Async loading prevents UI blocking for large directories
209-
21082
## Contributing
21183

84+
Parsec welcomes contributions from the community. Please review our contribution guidelines before getting started:
85+
86+
- [Code of Conduct](CODE_OF_CONDUCT.md)
87+
- [Contributing Guidelines](CONTRIBUTING.md)
88+
- [Security Policy](SECURITY.md)
89+
90+
### Development Process
91+
21292
1. Fork the repository
21393
2. Create a feature branch
21494
3. Make your changes
215-
4. Test with various file types and terminal sizes
95+
4. Test thoroughly
21696
5. Submit a pull request
21797

98+
### Reporting Issues
99+
100+
When reporting bugs, please include:
101+
- Operating system details
102+
- Steps to reproduce
103+
- Expected vs actual behavior
104+
- Error messages if applicable
105+
106+
## Security
107+
108+
For security concerns, please review our [Security Policy](SECURITY.md) before submitting a report.
109+
110+
## Dependencies
111+
112+
Dependencies are managed through Go modules and automatically updated via Dependabot. Major version updates are handled manually to ensure stability.
113+
218114
## License
219115

220-
MIT License - see LICENSE file for details.
116+
MIT License - see [LICENSE](LICENSE) file for details.
117+
118+
## Versioning
119+
120+
Parsec follows semantic versioning. The first stable release will be tagged as v1.0.0 once all core features are thoroughly tested.

0 commit comments

Comments
 (0)