2020-05-19 18:20:18 +02:00
+++
title = "Bat understands varlink now"
date = 2019-02-07T07:04:47+00:00
2023-10-26 11:53:38 +02:00
[taxonomies]
tags = ["varlink", "programming"]
2020-05-19 18:20:18 +02:00
+++
[Bat ](https://github.com/sharkdp/bat ) is a *cat(1)* clone with syntax highlighting and Git integration.
My pull request for varlink syntax coloring was accepted today :\-)
<!-- more -->
So, to display:
```varlink
# The Varlink Service Interface is provided by every varlink service. It
# describes the service and the interfaces it implements.
interface org.varlink.service
# Get a list of all the interfaces a service provides and information
# about the implementation.
method GetInfo() -> (
vendor: string,
product: string,
version: string,
url: string,
interfaces: []string
)
# Get the description of an interface that is implemented by this service.
method GetInterfaceDescription(interface: string) -> (description: string)
# The requested interface was not found.
error InterfaceNotFound (interface: string)
# The requested method was not found
error MethodNotFound (method: string)
# The interface defines the requested method, but the service does not
# implement it.
error MethodNotImplemented (method: string)
# One of the passed parameters is invalid.
error InvalidParameter (parameter: string)
```
it will look like this:
< pre style = "background-color: black;color: white" > < b > $< / b > bat org.varlink.service.varlink
< font color = "#444444" > ───────┬───────────────────────────────────────────────────────────────────────────────< / font >
< font color = "#444444" > │ < / font > File: < b > org.varlink.service.varlink< / b >
< font color = "#444444" > ───────┼───────────────────────────────────────────────────────────────────────────────< / font >
< font color = "#444444" > 1< / font > < font color = "#444444" > │< / font > < font color = "#75715E" > # The Varlink Service Interface is provided by every varlink service. It< / font >
< font color = "#444444" > 2< / font > < font color = "#444444" > │< / font > < font color = "#75715E" > # describes the service and the interfaces it implements.< / font >
< font color = "#444444" > 3< / font > < font color = "#444444" > │< / font > < font color = "#66D9EF" > interface< / font > < font color = "#F8F8F2" > < / font > < font color = "#A6E22E" > org.varlink.service< / font >
< font color = "#444444" > 4< / font > < font color = "#444444" > │< / font >
< font color = "#444444" > 5< / font > < font color = "#444444" > │< / font > < font color = "#75715E" > # Get a list of all the interfaces a service provides and information< / font >
< font color = "#444444" > 6< / font > < font color = "#444444" > │< / font > < font color = "#75715E" > # about the implementation.< / font >
< font color = "#444444" > 7< / font > < font color = "#444444" > │< / font > < font color = "#66D9EF" > method< / font > < font color = "#F8F8F2" > < / font > < font color = "#A6E22E" > GetInfo< / font > < font color = "#F8F8F2" > () < / font > < font color = "#F92672" > -> < / font > < font color = "#F8F8F2" > (< / font >
< font color = "#444444" > 8< / font > < font color = "#444444" > │< / font > < font color = "#F8F8F2" > < / font > < font color = "#FD971F" > vendor< / font > < font color = "#F8F8F2" > : < / font > < font color = "#66D9EF" > string< / font > < font color = "#F8F8F2" > ,< / font >
< font color = "#444444" > 9< / font > < font color = "#444444" > │< / font > < font color = "#F8F8F2" > < / font > < font color = "#FD971F" > product< / font > < font color = "#F8F8F2" > : < / font > < font color = "#66D9EF" > string< / font > < font color = "#F8F8F2" > ,< / font >
< font color = "#444444" > 10< / font > < font color = "#444444" > │< / font > < font color = "#F8F8F2" > < / font > < font color = "#FD971F" > version< / font > < font color = "#F8F8F2" > : < / font > < font color = "#66D9EF" > string< / font > < font color = "#F8F8F2" > ,< / font >
< font color = "#444444" > 11< / font > < font color = "#444444" > │< / font > < font color = "#F8F8F2" > < / font > < font color = "#FD971F" > url< / font > < font color = "#F8F8F2" > : < / font > < font color = "#66D9EF" > string< / font > < font color = "#F8F8F2" > ,< / font >
< font color = "#444444" > 12< / font > < font color = "#444444" > │< / font > < font color = "#F8F8F2" > < / font > < font color = "#FD971F" > interfaces< / font > < font color = "#F8F8F2" > : < / font > < font color = "#F92672" > []< / font > < font color = "#66D9EF" > string< / font >
< font color = "#444444" > 13< / font > < font color = "#444444" > │< / font > < font color = "#F8F8F2" > )< / font >
< font color = "#444444" > 14< / font > < font color = "#444444" > │< / font >
< font color = "#444444" > 15< / font > < font color = "#444444" > │< / font > < font color = "#75715E" > # Get the description of an interface that is implemented by this service.< / font >
< font color = "#444444" > 16< / font > < font color = "#444444" > │< / font > < font color = "#66D9EF" > method< / font > < font color = "#F8F8F2" > < / font > < font color = "#A6E22E" > GetInterfaceDescription< / font > < font color = "#F8F8F2" > (< / font > < font color = "#FD971F" > interface< / font > < font color = "#F8F8F2" > : < / font > < font color = "#66D9EF" > string< / font > < font color = "#F8F8F2" > ) < / font > < font color = "#F92672" > -> < / font > < font color = "#F8F8F2" > (< / font > < font color = "#FD971F" > description< / font > < font color = "#F8F8F2" > : < / font > < font color = "#66D9EF" > string< / font > < font color = "#F8F8F2" > )< / font >
< font color = "#444444" > 17< / font > < font color = "#444444" > │< / font >
< font color = "#444444" > 18< / font > < font color = "#444444" > │< / font > < font color = "#75715E" > # The requested interface was not found.< / font >
< font color = "#444444" > 19< / font > < font color = "#444444" > │< / font > < font color = "#66D9EF" > error< / font > < font color = "#F8F8F2" > < / font > < font color = "#A6E22E" > InterfaceNotFound< / font > < font color = "#F8F8F2" > (< / font > < font color = "#FD971F" > interface< / font > < font color = "#F8F8F2" > : < / font > < font color = "#66D9EF" > string< / font > < font color = "#F8F8F2" > )< / font >
< font color = "#444444" > 20< / font > < font color = "#444444" > │< / font >
< font color = "#444444" > 21< / font > < font color = "#444444" > │< / font > < font color = "#75715E" > # The requested method was not found< / font >
< font color = "#444444" > 22< / font > < font color = "#444444" > │< / font > < font color = "#66D9EF" > error< / font > < font color = "#F8F8F2" > < / font > < font color = "#A6E22E" > MethodNotFound< / font > < font color = "#F8F8F2" > (< / font > < font color = "#FD971F" > method< / font > < font color = "#F8F8F2" > : < / font > < font color = "#66D9EF" > string< / font > < font color = "#F8F8F2" > )< / font >
< font color = "#444444" > 23< / font > < font color = "#444444" > │< / font >
< font color = "#444444" > 24< / font > < font color = "#444444" > │< / font > < font color = "#75715E" > # The interface defines the requested method, but the service does not< / font >
< font color = "#444444" > 25< / font > < font color = "#444444" > │< / font > < font color = "#75715E" > # implement it.< / font >
< font color = "#444444" > 26< / font > < font color = "#444444" > │< / font > < font color = "#66D9EF" > error< / font > < font color = "#F8F8F2" > < / font > < font color = "#A6E22E" > MethodNotImplemented< / font > < font color = "#F8F8F2" > (< / font > < font color = "#FD971F" > method< / font > < font color = "#F8F8F2" > : < / font > < font color = "#66D9EF" > string< / font > < font color = "#F8F8F2" > )< / font >
< font color = "#444444" > 27< / font > < font color = "#444444" > │< / font >
< font color = "#444444" > 28< / font > < font color = "#444444" > │< / font > < font color = "#75715E" > # One of the passed parameters is invalid.< / font >
< font color = "#444444" > 29< / font > < font color = "#444444" > │< / font > < font color = "#66D9EF" > error< / font > < font color = "#F8F8F2" > < / font > < font color = "#A6E22E" > InvalidParameter< / font > < font color = "#F8F8F2" > (< / font > < font color = "#FD971F" > parameter< / font > < font color = "#F8F8F2" > : < / font > < font color = "#66D9EF" > string< / font > < font color = "#F8F8F2" > )< / font >
< font color = "#444444" > ───────┴───────────────────────────────────────────────────────────────────────────────< / font >
< / pre >