How do I support syntax highlighting for a new language in Bitbucket

Laurynas Riliskis July 12, 2016

Hey,

Is there a way to add custom language for a specific extension in Bitbucket? 

I am working on DSL and would like to have support for highlighting.

 

Thanks you 

2 answers

1 accepted

1 vote
Answer accepted
evzijst
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
July 12, 2016

No, I'm afraid there's no easy way to do that. We use Pygments for syntax highlighting and so while that covers a lot of languages, it is not easy to extend it to custom DSLs.

Depending on how badly you want this, you could write a Connect Add-On for it. Connect Add-Ons are iframes that replace parts of Bitbucket's UI that you host and control. Using the Bitbucket API to pull down the contents of a file, you can then render it any way you like.

There are examples of how to do that:

 

Leonard Ritter July 14, 2017

one year later, how's the situation on this? i would like to install a custom pygments highlighter for my repository; but i don't want to go through the trouble of programming an extra site extension. i'm completely open to submitting my highlighter to the atlassian repos though.

Deleted user January 14, 2020

According to https://confluence.atlassian.com/bitbucketserverkb/configuring-syntax-highlighting-for-file-extensions-779171322.html version 6.8 of Bitbucket server use ComeMirror for systax highlighting. I even found folder, that store all supported modes, but added custom mode doen't work. 

0 votes
Laurynas Riliskis July 13, 2016

Thank you so much for the answers! I will have to wait and see how bad I want it smile One final question for clarification.

Does the solution mean that each user has to install the add-on or it will be installed for the repository and everyone accessing it will see it?

evzijst
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
July 13, 2016

The file-viewer plugin point can be used on both "account" and "personal" add-ons. Add-ons of the former type can be installed on the account that owns the repo and then it'll be visible to anyone viewing files in that repo. Add-ons of the latter type are installed on your own personal account and sort of follow you around; they apply only to pages you visit.

For more detail: https://developer.atlassian.com/bitbucket/concepts/add-on-context.html

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events