Skip to content

should we support plumatic style defn syntax (?) #28

Closed as not planned
Closed as not planned
@jasonjckn

Description

@jasonjckn

Plumatic style function syntax :- can be found in a few libraries
https://github.com/plumatic/schema#beyond-type-hints
https://github.com/metosin/malli/blob/master/docs/function-schemas.md#function-schema-metadata
https://github.com/gnl/ghostwheel

is there any desire to support this out-of-the-box? it might be challenging to add an user configuration mechanism for it , and there's not a lot of downside to understanding the optional syntax. This is a qualitatively distinct problem than supporting different function definition aliases 'defn', which is more amenable to user config.

:- appears both to denote function return type, as well as function parameter(s) type, the only place where support needs to be added is the function return type as far as I can tell.

it's a trivial change in clojure-ts--docstring-query , I'm using this rough code right now, but probably needs a :match expression the literal :-
image

Expected behavior

image

Actual behavior

image

Steps to reproduce the problem

(defn foobar :- long?
  "comment string"
  [a :- long?]
  :do-something)

Environment & Version information

clojure-ts-mode version

0.2.0

Emacs version

30.x

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementEnhancement to existing functionality

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions