Commit Graph

6 Commits

Author SHA1 Message Date
Storm Dragon
16d146a9ae Implement reliable HTML heading navigation using tag-based detection
This commit completely overhauls the heading navigation feature (d/shift+D keys)
to use actual HTML tag information instead of unreliable text-based heuristics.

Key improvements:
- Navigation now works 100% reliably by tracking actual <h1>-<h6> HTML tags
- Eliminates false positives from bold text, links, and buttons
- No longer navigates to blank lines around headings
- Provides true screen reader-style heading navigation

Technical implementation:
- Added LINE_FLAG_HEADING flag to mark heading lines during HTML processing
- Enhanced readbuffer with in_heading field to track heading tag state
- Modified HTML parser to set/clear heading flags on <h>/<\/h> tags
- Updated TextLine and Line structures to preserve heading information
- Simplified navigation functions to use reliable flag-based detection
- Added content length check to avoid marking blank spacing lines

Also includes compilation fixes for modern GCC:
- Fixed function pointer type compatibility issues
- Updated signal handler declarations
- Resolved deprecation warnings for various system calls

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-16 02:11:37 -04:00
Tatsuya Kinoshita
fbaa526b8b New macro Strcatc and Strnulterm 2021-04-05 22:36:45 +09:00
Tatsuya Kinoshita
15520de3aa Check STR_SIZE_MAX in Strcat_char 2021-03-21 12:51:08 +09:00
Richard Quirk
91405c0d06 Strnew_charp and co do not modify the char* input 2015-07-25 15:21:33 +02:00
Tatsuya Kinoshita
6db339b3d7 Adding upstream version 0.5.2 2011-05-04 16:23:02 +09:00
Tatsuya Kinoshita
72f72d64a4 Adding upstream version 0.5.1 2011-05-04 16:05:14 +09:00