[m-users.] Best way to implement constants ?

Sean Charles (emacstheviking) objitsu at gmail.com
Sat Aug 19 00:44:54 AEST 2023


If by nano-scale you mean 'nano', then yes, that editor. I took a snapshot and put it here, I have no ida how long it remains alive:


https://pasteboard.co/37SlORCNzgln.png
nano with mercury syntax highlighting - Image on Pasteboard
pasteboard.co

I modified the Prolog mode to work a little better with Mercury, it's by no means perfect, there are some odd colouring issues when I have a string containing certain escape sequences, but bearing in mind nano uses simple regex filters to figure out what to colour, I am still very happy with the way it works.

I wrote a tool to use the 'formatter hook' in nano, so that, after a compile, if there are errors, I just do 'Meta-F' and it inserts the errors messages into the source file, as a comment, and the hook I wrote (in Mercury) adjusts the errors to work with my syntax highlighting, another small image:

https://pasteboard.co/Uu5jsXV8YqEX.png
Mercury with nano - Image on Pasteboard
pasteboard.co

The custom formatter hook is here on github: https://github.com/emacstheviking/mercury-pberr
I have some other stuff that's mercury related there, I think I've troubled this list with it before?! :D

Cheers!

--- mercury nano configuration file, ~/.nano/mercury.nanorc ---
--- BEGIN ---

## Mercury, ported and adjusted from Prolog mode.

syntax "mercury" "\.m$"
comment "%"

## Written in Mercury for Nano+Mercury, this will interleave
## a FOO.err file when called from FOO.m via Meta-F (formatter)
formatter pberr nanoformatter

# Integers and floats
color yellow "(^| |=)[0-9]+\.?[0-9]*"

# Variables
color magenta "(^|[[:blank:]]|\(|,)[A-Z_!][a-zA-Z0-9_\.\:]*($|[[:blank:]]|,|\))"

# Anonymous variable '_'
color yellow "(^|[[:blank:]]|\(|,)_($|[[:blank:]]|,|\))"

# Functions
color cyan "(^|[[:blank:]])\w+\("
color cyan "\(|\)|\[|\]|,|=|\\="

# Comments
color green "(^|[[:blank:]])%.*$"

# Strings
color yellow "\".*\""

# compiler :-
color cyan "^:- .*$"

# custom errors for pberr
color red "^%E.*$"

# Reminders
color yellow "(BUG|DEBUG|FIXME|IDEA|NOTE|REVIEW|TEMP|TODO|WARNING|XXX|TOFU)"

# Spaces in front of tabs
color ,red " +	+"

--- END ---




> On 18 Aug 2023, at 14:35, Volker Wysk <post at volker-wysk.de> wrote:
> 
> Am Freitag, dem 18.08.2023 um 14:25 +0100 schrieb Sean Charles
> (emacstheviking):
>> LOL! I am a lapsed emacs user of 30 years... vscode stole my affections,
>> saying that, I use nano exclusivly for Mercury, I've written a few tools
>> to help me out, and all in all, nano is just fine!
> 
> You mean that nano-scale editor? For real? Does it even have a Mercury (or
> Prolog) mode with syntax highlighting, like Emacs does?
> 
>> 
>>> On 18 Aug 2023, at 14:24, Mark Brown <mark at mercurylang.org> wrote:
>>> 
>>> On Fri, Aug 18, 2023 at 6:26 PM Sean Charles (emacstheviking)
>>> <objitsu at gmail.com> wrote:
>>>> My question is simple this: is what I have done 'ok' or is it a diabolical insult to all that as beautiful and holy in the Mercury world?
>>> 
>>> You mean the planet? :-P
>>> 
>>> To answer your question in general, the measure of what you write
>>> depends on your intended audience. It's the same for programming as it
>>> is for other kinds of writing. Having said that, I hate it when I
>>> can't use tags in vim.
>>> 
>>> Mark
>> 
>> _______________________________________________
>> users mailing list
>> users at lists.mercurylang.org <mailto:users at lists.mercurylang.org>
>> https://lists.mercurylang.org/listinfo/users
> 
> _______________________________________________
> users mailing list
> users at lists.mercurylang.org <mailto:users at lists.mercurylang.org>
> https://lists.mercurylang.org/listinfo/users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurylang.org/archives/users/attachments/20230818/120bc62e/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 37SlORCNzgln.png
Type: image/png
Size: 337587 bytes
Desc: not available
URL: <http://lists.mercurylang.org/archives/users/attachments/20230818/120bc62e/attachment-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Uu5jsXV8YqEX.png
Type: image/png
Size: 129669 bytes
Desc: not available
URL: <http://lists.mercurylang.org/archives/users/attachments/20230818/120bc62e/attachment-0003.png>


More information about the users mailing list