|
1 |
| -;;; lsp-haskell.el --- Haskell support for lsp-mode |
| 1 | +;;; lsp-haskell.el --- Haskell support for lsp-mode -*- lexical-binding: t; -*- |
2 | 2 |
|
3 | 3 | ;; Version: 1.1
|
4 | 4 | ;; Package-Requires: ((emacs "27.1") (lsp-mode "3.0") (haskell-mode "16.1"))
|
@@ -433,11 +433,210 @@ but will take exponentially more time."
|
433 | 433 | :package-version '(lsp-mode . "8.0.1")
|
434 | 434 | :lsp-path "haskell.plugin.rename.globalOn")
|
435 | 435 |
|
436 |
| -(lsp-defcustom lsp-haskell-plugin-semantic-tokens-global-on t |
437 |
| - "Enables semantic-tokens plugin" |
438 |
| - :type 'boolean |
439 |
| - :group 'lsp-haskell-plugins |
440 |
| - :package-version '(lsp-mode . "8.0.1") |
| 436 | +;; Updated for haskell-language-server 2.9.0.1 |
| 437 | + |
| 438 | +(lsp-defcustom lsp-haskell-plugin-cabal-fmt-config-path "cabal-fmt" |
| 439 | + "Set path to 'cabal-fmt' executable" |
| 440 | + :type 'string |
| 441 | + :group 'lsp-haskell-plugins |
| 442 | + :package-version '(lsp-mode . "9.0.0") |
| 443 | + :lsp-path "haskell.plugin.cabal-fmt.config.path") |
| 444 | + |
| 445 | +(lsp-defcustom lsp-haskell-plugin-cabal-gild-config-path "cabal-gild" |
| 446 | + "Set path to 'cabal-gild' executable" |
| 447 | + :type 'string |
| 448 | + :group 'lsp-haskell-plugins |
| 449 | + :package-version '(lsp-mode . "9.0.0") |
| 450 | + :lsp-path "haskell.plugin.cabal-gild.config.path") |
| 451 | + |
| 452 | +(lsp-defcustom lsp-haskell-plugin-cabal-diagnostics-on t |
| 453 | + "Enables cabal diagnostics" |
| 454 | + :type 'boolean |
| 455 | + :group 'lsp-haskell-plugins |
| 456 | + :package-version '(lsp-mode . "9.0.0") |
| 457 | + :lsp-path "haskell.plugin.cabal.diagnosticsOn") |
| 458 | + |
| 459 | +(lsp-defcustom lsp-haskell-plugin-fourmolu-config-path "fourmolu" |
| 460 | + "Set path to executable (for \"external\" mode)." |
| 461 | + :type 'string |
| 462 | + :group 'lsp-haskell-plugins |
| 463 | + :package-version '(lsp-mode . "9.0.0") |
| 464 | + :lsp-path "haskell.plugin.fourmolu.config.path") |
| 465 | + |
| 466 | +(lsp-defcustom lsp-haskell-plugin-semantic-tokens-config-class-method-token |
| 467 | + "method" |
| 468 | + "LSP semantic token type to use for typeclass methods" |
| 469 | + :type '(choice (const "namespace") (const "type") (const "class") (const "enum") |
| 470 | + (const "interface") (const "struct") (const "typeParameter") |
| 471 | + (const "parameter") (const "variable") (const "property") (const "enumMember") |
| 472 | + (const "event") (const "function") (const "method") (const "macro") |
| 473 | + (const "keyword") (const "modifier") (const "comment") (const "string") |
| 474 | + (const "number") (const "regexp") (const "operator") (const "decorator")) |
| 475 | + :group 'lsp-haskell-plugins |
| 476 | + :package-version '(lsp-mode . "9.0.0") |
| 477 | + :lsp-path "haskell.plugin.semanticTokens.config.classMethodToken") |
| 478 | + |
| 479 | +(lsp-defcustom lsp-haskell-plugin-semantic-tokens-config-class-token |
| 480 | + "class" |
| 481 | + "LSP semantic token type to use for typeclasses" |
| 482 | + :type '(choice (const "namespace") (const "type") (const "class") (const "enum") |
| 483 | + (const "interface") (const "struct") (const "typeParameter") |
| 484 | + (const "parameter") (const "variable") (const "property") (const "enumMember") |
| 485 | + (const "event") (const "function") (const "method") (const "macro") |
| 486 | + (const "keyword") (const "modifier") (const "comment") (const "string") |
| 487 | + (const "number") (const "regexp") (const "operator") (const "decorator")) |
| 488 | + :group 'lsp-haskell-plugins |
| 489 | + :package-version '(lsp-mode . "9.0.0") |
| 490 | + :lsp-path "haskell.plugin.semanticTokens.config.classToken") |
| 491 | + |
| 492 | +(lsp-defcustom lsp-haskell-plugin-semantic-tokens-config-data-constructor-token |
| 493 | + "enumMember" |
| 494 | + "LSP semantic token type to use for data constructors" |
| 495 | + :type '(choice (const "namespace") (const "type") (const "class") (const "enum") |
| 496 | + (const "interface") (const "struct") (const "typeParameter") |
| 497 | + (const "parameter") (const "variable") (const "property") (const "enumMember") |
| 498 | + (const "event") (const "function") (const "method") (const "macro") |
| 499 | + (const "keyword") (const "modifier") (const "comment") (const "string") |
| 500 | + (const "number") (const "regexp") (const "operator") (const "decorator")) |
| 501 | + :group 'lsp-haskell-plugins |
| 502 | + :package-version '(lsp-mode . "9.0.0") |
| 503 | + :lsp-path "haskell.plugin.semanticTokens.config.dataConstructorToken") |
| 504 | + |
| 505 | +(lsp-defcustom lsp-haskell-plugin-semantic-tokens-config-function-token |
| 506 | + "function" |
| 507 | + "LSP semantic token type to use for functions" |
| 508 | + :type '(choice (const "namespace") (const "type") (const "class") (const "enum") |
| 509 | + (const "interface") (const "struct") (const "typeParameter") |
| 510 | + (const "parameter") (const "variable") (const "property") (const "enumMember") |
| 511 | + (const "event") (const "function") (const "method") (const "macro") |
| 512 | + (const "keyword") (const "modifier") (const "comment") (const "string") |
| 513 | + (const "number") (const "regexp") (const "operator") (const "decorator")) |
| 514 | + :group 'lsp-haskell-plugins |
| 515 | + :package-version '(lsp-mode . "9.0.0") |
| 516 | + :lsp-path "haskell.plugin.semanticTokens.config.functionToken") |
| 517 | + |
| 518 | +(lsp-defcustom lsp-haskell-plugin-semantic-tokens-config-module-token |
| 519 | + "namespace" |
| 520 | + "LSP semantic token type to use for modules" |
| 521 | + :type '(choice (const "namespace") (const "type") (const "class") (const "enum") |
| 522 | + (const "interface") (const "struct") (const "typeParameter") |
| 523 | + (const "parameter") (const "variable") (const "property") (const "enumMember") |
| 524 | + (const "event") (const "function") (const "method") (const "macro") |
| 525 | + (const "keyword") (const "modifier") (const "comment") (const "string") |
| 526 | + (const "number") (const "regexp") (const "operator") (const "decorator")) |
| 527 | + :group 'lsp-haskell-plugins |
| 528 | + :package-version '(lsp-mode . "9.0.0") |
| 529 | + :lsp-path "haskell.plugin.semanticTokens.config.moduleToken") |
| 530 | + |
| 531 | +(lsp-defcustom lsp-haskell-plugin-semantic-tokens-config-operator-token |
| 532 | + "operator" |
| 533 | + "LSP semantic token type to use for operators" |
| 534 | + :type '(choice (const "namespace") (const "type") (const "class") (const "enum") |
| 535 | + (const "interface") (const "struct") (const "typeParameter") |
| 536 | + (const "parameter") (const "variable") (const "property") (const "enumMember") |
| 537 | + (const "event") (const "function") (const "method") (const "macro") |
| 538 | + (const "keyword") (const "modifier") (const "comment") (const "string") |
| 539 | + (const "number") (const "regexp") (const "operator") (const "decorator")) |
| 540 | + :group 'lsp-haskell-plugins |
| 541 | + :package-version '(lsp-mode . "9.0.0") |
| 542 | + :lsp-path "haskell.plugin.semanticTokens.config.operatorToken") |
| 543 | + |
| 544 | +(lsp-defcustom lsp-haskell-plugin-semantic-tokens-config-pattern-synonym-token |
| 545 | + "macro" |
| 546 | + "LSP semantic token type to use for pattern synonyms" |
| 547 | + :type '(choice (const "namespace") (const "type") (const "class") (const "enum") |
| 548 | + (const "interface") (const "struct") (const "typeParameter") |
| 549 | + (const "parameter") (const "variable") (const "property") (const "enumMember") |
| 550 | + (const "event") (const "function") (const "method") (const "macro") |
| 551 | + (const "keyword") (const "modifier") (const "comment") (const "string") |
| 552 | + (const "number") (const "regexp") (const "operator") (const "decorator")) |
| 553 | + :group 'lsp-haskell-plugins |
| 554 | + :package-version '(lsp-mode . "9.0.0") |
| 555 | + :lsp-path "haskell.plugin.semanticTokens.config.patternSynonymToken") |
| 556 | + |
| 557 | +(lsp-defcustom lsp-haskell-plugin-semantic-tokens-config-record-field-token |
| 558 | + "property" |
| 559 | + "LSP semantic token type to use for record fields" |
| 560 | + :type '(choice (const "namespace") (const "type") (const "class") (const "enum") |
| 561 | + (const "interface") (const "struct") (const "typeParameter") |
| 562 | + (const "parameter") (const "variable") (const "property") (const "enumMember") |
| 563 | + (const "event") (const "function") (const "method") (const "macro") |
| 564 | + (const "keyword") (const "modifier") (const "comment") (const "string") |
| 565 | + (const "number") (const "regexp") (const "operator") (const "decorator")) |
| 566 | + :group 'lsp-haskell-plugins |
| 567 | + :package-version '(lsp-mode . "9.0.0") |
| 568 | + :lsp-path "haskell.plugin.semanticTokens.config.recordFieldToken") |
| 569 | + |
| 570 | +(lsp-defcustom lsp-haskell-plugin-semantic-tokens-config-type-constructor-token |
| 571 | + "enum" |
| 572 | + "LSP semantic token type to use for type constructors" |
| 573 | + :type '(choice (const "namespace") (const "type") (const "class") (const "enum") |
| 574 | + (const "interface") (const "struct") (const "typeParameter") |
| 575 | + (const "parameter") (const "variable") (const "property") (const "enumMember") |
| 576 | + (const "event") (const "function") (const "method") (const "macro") |
| 577 | + (const "keyword") (const "modifier") (const "comment") (const "string") |
| 578 | + (const "number") (const "regexp") (const "operator") (const "decorator")) |
| 579 | + :group 'lsp-haskell-plugins |
| 580 | + :package-version '(lsp-mode . "9.0.0") |
| 581 | + :lsp-path "haskell.plugin.semanticTokens.config.typeConstructorToken") |
| 582 | + |
| 583 | +(lsp-defcustom lsp-haskell-plugin-semantic-tokens-config-type-family-token |
| 584 | + "interface" |
| 585 | + "LSP semantic token type to use for type families" |
| 586 | + :type '(choice (const "namespace") (const "type") (const "class") (const "enum") |
| 587 | + (const "interface") (const "struct") (const "typeParameter") |
| 588 | + (const "parameter") (const "variable") (const "property") (const "enumMember") |
| 589 | + (const "event") (const "function") (const "method") (const "macro") |
| 590 | + (const "keyword") (const "modifier") (const "comment") (const "string") |
| 591 | + (const "number") (const "regexp") (const "operator") (const "decorator")) |
| 592 | + :group 'lsp-haskell-plugins |
| 593 | + :package-version '(lsp-mode . "9.0.0") |
| 594 | + :lsp-path "haskell.plugin.semanticTokens.config.typeFamilyToken") |
| 595 | + |
| 596 | +(lsp-defcustom lsp-haskell-plugin-semantic-tokens-config-type-synonym-token |
| 597 | + "type" |
| 598 | + "LSP semantic token type to use for type synonyms" |
| 599 | + :type '(choice (const "namespace") (const "type") (const "class") (const "enum") |
| 600 | + (const "interface") (const "struct") (const "typeParameter") |
| 601 | + (const "parameter") (const "variable") (const "property") (const "enumMember") |
| 602 | + (const "event") (const "function") (const "method") (const "macro") |
| 603 | + (const "keyword") (const "modifier") (const "comment") (const "string") |
| 604 | + (const "number") (const "regexp") (const "operator") (const "decorator")) |
| 605 | + :group 'lsp-haskell-plugins |
| 606 | + :package-version '(lsp-mode . "9.0.0") |
| 607 | + :lsp-path "haskell.plugin.semanticTokens.config.typeSynonymToken") |
| 608 | + |
| 609 | +(lsp-defcustom lsp-haskell-plugin-semantic-tokens-config-type-variable-token |
| 610 | + "typeParameter" |
| 611 | + "LSP semantic token type to use for type variables" |
| 612 | + :type '(choice (const "namespace") (const "type") (const "class") (const "enum") |
| 613 | + (const "interface") (const "struct") (const "typeParameter") |
| 614 | + (const "parameter") (const "variable") (const "property") (const "enumMember") |
| 615 | + (const "event") (const "function") (const "method") (const "macro") |
| 616 | + (const "keyword") (const "modifier") (const "comment") (const "string") |
| 617 | + (const "number") (const "regexp") (const "operator") (const "decorator")) |
| 618 | + :group 'lsp-haskell-plugins |
| 619 | + :package-version '(lsp-mode . "9.0.0") |
| 620 | + :lsp-path "haskell.plugin.semanticTokens.config.typeVariableToken") |
| 621 | + |
| 622 | +(lsp-defcustom lsp-haskell-plugin-semantic-tokens-config-variable-token |
| 623 | + "variable" |
| 624 | + "LSP semantic token type to use for variables" |
| 625 | + :type '(choice (const "namespace") (const "type") (const "class") (const "enum") |
| 626 | + (const "interface") (const "struct") (const "typeParameter") |
| 627 | + (const "parameter") (const "variable") (const "property") (const "enumMember") |
| 628 | + (const "event") (const "function") (const "method") (const "macro") |
| 629 | + (const "keyword") (const "modifier") (const "comment") (const "string") |
| 630 | + (const "number") (const "regexp") (const "operator") (const "decorator")) |
| 631 | + :group 'lsp-haskell-plugins |
| 632 | + :package-version '(lsp-mode . "9.0.0") |
| 633 | + :lsp-path "haskell.plugin.semanticTokens.config.variableToken") |
| 634 | + |
| 635 | +(lsp-defcustom lsp-haskell-plugin-semantic-tokens-global-on nil |
| 636 | + "Enables semanticTokens plugin" |
| 637 | + :type 'boolean |
| 638 | + :group 'lsp-haskell-plugins |
| 639 | + :package-version '(lsp-mode . "9.0.0") |
441 | 640 | :lsp-path "haskell.plugin.semanticTokens.globalOn")
|
442 | 641 |
|
443 | 642 | ;; ---------------------------------------------------------------------
|
|
0 commit comments