Extension Details

- Fortran
- by Wolfware Consulting
- 5 Recent Installs | 5 Total Installs
- Free-form Fortran (F90+) language support with syntax highlighting, symbol navigation, and code folding powered by tree-sitter (based on grammar provided by https://github.com/stadelmanma/tree-sitter-fortran).
- Repository
- Bug Reports
Readme
Fortran Language Extension for Nova
Fortran provides comprehensive language support for free-form Fortran (F90 and later) in the Nova editor, powered by tree-sitter-fortran.
Features
- Syntax Highlighting - Full syntax highlighting for modern Fortran including keywords, types, operators, functions, subroutines, and more
- Symbol Navigation - Navigate to programs, modules, subroutines, and functions via the symbol list (⌘P)
- Code Folding - Fold major code blocks including programs, modules, functions, subroutines, loops, and conditionals
- Comment Support - Proper handling of Fortran comment syntax with
!
Supported File Types
This extension automatically activates for the following file types:
.f
,.f90
,.f95
,.f03
,.f08
- Fortran source files.dek
- MESA deck files.inc
- Include filesinlist*
- MESA inlist files (namelist files with no extension)
Language Support
This extension supports free-form Fortran (Fortran 90 and later). Key supported features include:
- Program, module, and submodule structures
- Subroutine and function definitions
- Derived type definitions
- Interface blocks
- Control structures (if/else, select case, do loops, where)
- Intrinsic types and operators
- Array syntax and operations
- Procedure calls
Note: Fixed-form Fortran (FORTRAN 77 and earlier) is not currently supported.
Limitations
- This is a syntax-only extension and does not include Language Server Protocol (LSP) support
- For advanced features like auto-completion, refactoring, and diagnostics, consider using fortls with an LSP client
Installation
From the Nova Extension Library
- Open Nova
- Go to Extensions → Extension Library
- Search for "Fortran"
- Click Install
Manual Installation
- Download the latest release from GitHub
- Double-click the
.novaextension
file to install
Credits
This extension was built with Claude Code, Anthropic's AI-powered coding assistant, which was instrumental in:
- Compiling the tree-sitter parser for Nova's architecture
- Creating comprehensive syntax highlighting queries
- Implementing symbol navigation and code folding
- Setting up the complete extension structure
The syntax parsing is powered by tree-sitter-fortran by Matthew Stadelman.
Contributing
Bug reports and feature requests are welcome on the GitHub issue tracker.
License
MIT License - see the repository for details.
Release Notes
Changelog
[1.0.0] - 2025-10-02
Added
- Initial release of Fortran language extension for Nova
- Syntax highlighting for free-form Fortran (F90+)
- Keywords, types, operators, literals
- Function/subroutine definitions and calls
- Array syntax and operators
- Symbol navigation for major code structures
- Programs, modules, submodules
- Subroutines and functions
- Derived types
- Code folding support
- Programs, modules, functions, subroutines
- Derived types and interfaces
- Control structures (if, do, select case, where)
- File type detection
- Extensions: .f, .f90, .f95, .f03, .f08, .dek, .inc
- Special support for inlist files (MESA namelist files)
- Automated testing infrastructure
- Test file with comprehensive examples
- Automated symbol detection validation
Known Issues
- Comments starting with
!!
appear as bookmark-style symbols in the symbol navigator - This appears to be Nova-internal behavior that cannot be controlled via tree-sitter queries
- Affects both actual documentation comments and commented-out code blocks using
! !
pattern - The actual program/module/function/subroutine symbols work correctly
- This is a minor cosmetic issue that does not affect core functionality
Credits
- Built with Claude Code
- Powered by tree-sitter-fortran