Skip to content

Feature Request: Official UDL or Syntax Highlighting Support for Harbour Programming Language #306

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
1 task done
pchgdz opened this issue Apr 7, 2025 · 1 comment
Labels
need xml from user Repo maintainers don't create new UDL; if you supply the UDL XML, we will add it

Comments

@pchgdz
Copy link

pchgdz commented Apr 7, 2025

Is there an existing issue for this?

  • I have searched the existing issues

Description of the Issue

Dear Notepad++ Team,

I would like to request official support for the Harbour programming language in Notepad++, either as a built-in syntax highlighting definition or a User Defined Language (UDL) preset.

What is Harbour?

Harbour is a modern, open-source xBase language (a successor to Clipper), used for business applications. Its syntax resembles older languages like Clipper or FoxPro, but it's still actively developed and widely used in production environments.

Why add Harbour support?

  • Many developers use Notepad++ to work with .prg, .ch, .hb files.
  • Harbour syntax includes structured blocks such as:
    • FUNCTION ... RETURN
    • PROCEDURE ... RETURN
    • IF ... ENDIF
    • DO CASE ... ENDCASE
    • FOR ... NEXT
    • DO WHILE ... ENDDO
  • A working UDL definition exists, but it requires manual import and lacks native integration.

What we can provide:

I can share a fully working .xml UDL file that supports:

  • syntax highlighting for all main constructs
  • code folding
  • support for OEM code pages (like CP852)

Please let me know if there is interest in including it or improving it with community help. I'd be happy to collaborate!

Thank you for the great work on Notepad++!

Best regards,
Piotr Chmielewski

Describe the solution you'd like.

I would like to request official support for the Harbour programming language in Notepad++, either as a built-in syntax highlighting definition or a User Defined Language (UDL) preset.

What is Harbour?

Harbour is a modern, open-source xBase language (a successor to Clipper), used for business applications. Its syntax resembles older languages like Clipper or FoxPro, but it's still actively developed and widely used in production environments.

Why add Harbour support?

  • Many developers use Notepad++ to work with .prg, .ch, .hb files.
  • Harbour syntax includes structured blocks such as:
    • FUNCTION ... RETURN
    • PROCEDURE ... RETURN
    • IF ... ENDIF
    • DO CASE ... ENDCASE
    • FOR ... NEXT
    • DO WHILE ... ENDDO
  • A working UDL definition exists, but it requires manual import and lacks native integration.

What I can provide:

I can share a fully working .xml UDL file that supports:

  • syntax highlighting for all main constructs
  • code folding
  • support for OEM code pages (like CP852)

Thank you for considering this!

Debug Information

.

Anything else?

No response

@pryrt pryrt transferred this issue from notepad-plus-plus/notepad-plus-plus Apr 9, 2025
@pryrt
Copy link
Contributor

pryrt commented Apr 9, 2025

@pchgdz , I moved your request to Notepad++'s User Defined Languages Collection, rather than the application's repository, because this is where UDL are shared.

Getting a new built-in language added to Notepad++ is more difficult, because it would need to first be coded and added to the Lexilla library that Notepad++ uses for syntax highlighting. And the Lexilla team usually doesn't write new lexers themselves anymore; instead, they rely on people writing lexers for them and submitting them to that project, so it's highly unlikely that it would happen (unless it turned out that it was similar "enough" to xBase or Clipper that it could re-use one of those lexers for another language).

You said,

I can share a fully working .xml UDL file ...

Great! Please attach that XML to a reply in this moved Issue, and I can help you add it to the Collection. Also, if you have an AutoCompletion definition XML for the language, and/or a FunctionList definition XML for the language, then attach those as well, because

Unfortunately, it won't be automatically distributed with Notepad++ (so it violates your request for "preset"): the Notepad++ Developer decided that rather than have hundreds of UDL distributed with the main Notepad++ app -- when most users would only use one or two of those, and when there's a limit to the number of UDL that can be installed in Notepad++ at the same time -- that there would be this Collection where users could download just the UDL that they were interested in. So once it's in this Collection, anyone will be able to find this UDL and download and install it, if they want it.

Just so you know, while right now, it's a pretty manual process, I am actively working on a plugin that people could install (using Plugins Admin) that will make it really easy to download definitions from this UDL Collection, so (hopefully) soon, the process will be much easier for people.

@pryrt pryrt added the need xml from user Repo maintainers don't create new UDL; if you supply the UDL XML, we will add it label May 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
need xml from user Repo maintainers don't create new UDL; if you supply the UDL XML, we will add it
Projects
None yet
Development

No branches or pull requests

2 participants