{"source":"https://contributable.vercel.app","licence":"CC BY 4.0","methodology":"https://contributable.vercel.app/methodology","v":2,"owner":"haskell","name":"haskell-language-server","updatedAt":"2026-10-11T05:41:44.638Z","coveredSince":"2025-10-04T16:19:17.823Z","facts":{"owner":"haskell","name":"haskell-language-server","description":"Official Haskell IDE support via the language server protocol (LSP)","stars":2961,"forks":467,"archived":false,"isFork":false,"license":"Apache-2.0","defaultBranch":"master","pushedAt":"2026-10-10T16:27:49Z","createdAt":"2020-01-25T14:19:39Z","topics":["lsp-server","haskell-language-server","ide","haskell","cabal","stack","ghc","hacktoberfest"],"languages":{"Haskell":3430822,"JavaScript":106101,"TypeScript":42906,"Shell":24938,"Nix":14471,"HTML":7818,"Makefile":6741,"Python":3148},"frameworks":[],"commits90d":80,"releases365d":3,"lastReleaseAt":"2026-09-03T09:59:38Z","gettingStarted":{"contributing":false,"codeOfConduct":true,"issueTemplates":true,"devcontainer":false,"cla":"none","channels":[{"kind":"matrix","url":"https://matrix.to/#/#haskell-language-server:matrix.org"}],"policy":null}},"metrics":{"computedAt":"2026-10-11T05:41:44.638Z","outsidePulls":{"cohort":{"n":15,"merged":13,"closedUnmerged":1,"open":1,"mergeRate":0.9285714285714286,"openShare":0.06666666666666667,"evidence":{"merged":[5051,5031,5017,5016,5011,5009,5008,5007,5002,4997,4979,4978,4972],"closedUnmerged":[5015],"open":[4999]}},"firstTimers":{"n":10,"merged":8,"closedUnmerged":1,"open":1,"mergeRate":0.8888888888888888,"openShare":0.1,"evidence":{"merged":[5051,5031,5017,5011,5009,5007,4997,4979],"closedUnmerged":[5015],"open":[4999]}},"year":{"n":50,"merged":39,"closedUnmerged":5,"open":6,"mergeRate":0.8863636363636364,"openShare":0.12,"evidence":{"merged":[5051,5031,5017,5016,5011,5009,5008,5007,5002,4997,4979,4978,4972,4964,4959,4958,4956,4953,4950,4926],"closedUnmerged":[5015,4898,4881,4850,4773],"open":[4999,4965,4954,4942,4923,4874]}}},"pullFirstResponse":{"n":15,"answered":14,"waiting":1,"medianHours":4.710555555555556,"p75Hours":49.120555555555555,"within48h":0.7333333333333332,"within7d":0.8666666666666666,"curve":[{"hours":0.23666666666666666,"waiting":0.9333333333333333},{"hours":0.2511111111111111,"waiting":0.8666666666666667},{"hours":0.55,"waiting":0.8},{"hours":1.4897222222222222,"waiting":0.7333333333333334},{"hours":2.4097222222222223,"waiting":0.6666666666666667},{"hours":3.0388888888888888,"waiting":0.6000000000000001},{"hours":3.0858333333333334,"waiting":0.5333333333333334},{"hours":4.710555555555556,"waiting":0.4666666666666668},{"hours":10.510277777777778,"waiting":0.40000000000000013},{"hours":12.233333333333333,"waiting":0.3333333333333335},{"hours":14.55888888888889,"waiting":0.2666666666666668},{"hours":49.120555555555555,"waiting":0.20000000000000007},{"hours":66.43333333333334,"waiting":0.1333333333333334},{"hours":749.0069444444445,"waiting":0.0666666666666667}],"evidence":{"answered":[5051,5031,5017,5016,5011,5009,5008,5007,5002,4999,4997,4979,4978,4972],"waiting":[5015]}},"timeToMerge":{"n":15,"merged":13,"medianHours":49.1225,"evidence":[5051,5031,5017,5016,5011,5009,5008,5007,5002,4997,4979,4978,4972]},"issueFirstResponse":{"n":45,"answered":27,"waiting":18,"medianHours":198.59305555555557,"p75Hours":null,"within48h":0.37777777777777777,"within7d":0.48888888888888893,"curve":[{"hours":0.215,"waiting":0.9777777777777777},{"hours":0.2791666666666667,"waiting":0.9555555555555555},{"hours":0.34,"waiting":0.9333333333333332},{"hours":0.4494444444444444,"waiting":0.911111111111111},{"hours":1.8041666666666667,"waiting":0.8888888888888887},{"hours":9.479166666666666,"waiting":0.8666666666666665},{"hours":13.150555555555556,"waiting":0.8444444444444442},{"hours":14.765833333333333,"waiting":0.8222222222222221},{"hours":15.23,"waiting":0.7999999999999999},{"hours":16.131944444444443,"waiting":0.7777777777777777},{"hours":21.967777777777776,"waiting":0.7555555555555554},{"hours":21.974444444444444,"waiting":0.7333333333333332},{"hours":25.90861111111111,"waiting":0.711111111111111},{"hours":27.351388888888888,"waiting":0.6888888888888888},{"hours":30.6425,"waiting":0.6666666666666666},{"hours":40.949444444444445,"waiting":0.6444444444444444},{"hours":41.25194444444445,"waiting":0.6222222222222222},{"hours":114.1536111111111,"waiting":0.6},{"hours":119.95166666666667,"waiting":0.5777777777777778},{"hours":120.25472222222223,"waiting":0.5555555555555556},{"hours":123.21944444444445,"waiting":0.5333333333333333},{"hours":136.755,"waiting":0.5111111111111111},{"hours":198.59305555555557,"waiting":0.4888888888888889},{"hours":281.63,"waiting":0.4666666666666667},{"hours":293.7158333333333,"waiting":0.4444444444444444},{"hours":841.8538888888888,"waiting":0.42105263157894735},{"hours":1187.0641666666668,"waiting":0.3609022556390977}],"evidence":{"answered":[5084,5083,5081,5079,5072,5069,5068,5066,5063,5060,5053,5049,5042,5036,5024,5023,5006,5005,5004,5003],"waiting":[5077,5075,5074,5073,5071,5070,5067,5064,5061,5059,5054,5052,5046,5040,5034,5032,5013,4996]}},"starter":{"counts":{"available":2,"claimed":0,"in-progress":13,"stale":14},"helpWantedAvailable":0,"issues":[{"n":5115,"title":"Always suggest `cabal-version` field for the first line of a cabal file","state":"in-progress","label":"beginner","createdAt":"2026-10-09T09:55:25Z","updatedAt":"2026-10-10T09:11:38Z"},{"n":5104,"title":"Development.IDE.Test and Test.Hls duplication","state":"in-progress","label":"beginner","createdAt":"2026-10-04T18:40:55Z","updatedAt":"2026-10-05T07:22:02Z"},{"n":5063,"title":"notes: \"Internal Error: Line not found in file\" when hovering the empty line after a file's final newline","state":"available","label":"beginner","createdAt":"2026-08-30T17:15:32Z","updatedAt":"2026-09-01T16:18:28Z"},{"n":4962,"title":"Unify `Arguments` parsing of exe:ghcide and exe:haskell-language-server","state":"stale","label":"beginner","createdAt":"2026-06-08T11:32:07Z","updatedAt":"2026-08-03T14:11:05Z"},{"n":4760,"title":"Poison of dependencies from parent cabal.project","state":"stale","label":"beginner","createdAt":"2025-11-11T12:23:57Z","updatedAt":"2025-11-13T08:46:19Z"},{"n":4575,"title":"Implicit cradle discovery should have an explanation","state":"stale","label":"beginner","createdAt":"2025-05-02T08:16:31Z","updatedAt":"2025-05-02T13:37:42Z"},{"n":4281,"title":"Use `-fno-show-error-context`","state":"in-progress","label":"beginner","createdAt":"2024-06-06T12:48:39Z","updatedAt":"2024-06-09T08:03:20Z"},{"n":4057,"title":"Handlers should run in a custom monad that doesn't expose stuff that people shouldn't use","state":"in-progress","label":"beginner","createdAt":"2024-02-07T12:43:25Z","updatedAt":"2024-06-08T14:00:05Z"},{"n":3858,"title":"HLS looking in wrong ghcup directory for documentation","state":"stale","label":"beginner","createdAt":"2023-11-04T10:54:01Z","updatedAt":"2024-05-01T12:47:15Z"},{"n":3844,"title":"Update documentation for running tests","state":"stale","label":"beginner","createdAt":"2023-10-15T14:27:42Z","updatedAt":"2023-10-22T21:01:27Z"},{"n":3758,"title":"Prioritise completion suggestion of required fields","state":"available","label":"beginner","createdAt":"2023-08-16T14:42:03Z","updatedAt":"2026-10-09T08:53:21Z"},{"n":3653,"title":"Tests: Permit fine-grained control over the enabled plugins","state":"in-progress","label":"beginner","createdAt":"2023-06-12T11:44:50Z","updatedAt":"2023-06-14T11:24:59Z"},{"n":3628,"title":"Document symbols could include local definitions","state":"in-progress","label":"beginner","createdAt":"2023-06-08T11:49:23Z","updatedAt":"2024-09-06T13:23:39Z"},{"n":3245,"title":"Explicitly set the number of threads as a tasty option instead of relying on environment variables","state":"in-progress","label":"beginner","createdAt":"2022-10-05T11:48:21Z","updatedAt":"2024-06-10T09:44:47Z"},{"n":3043,"title":"LSP project root vs hie-bios cradle","state":"stale","label":"beginner","createdAt":"2022-07-15T14:12:54Z","updatedAt":"2022-08-10T11:26:01Z"},{"n":2902,"title":"Mark recursive references in let bindings","state":"stale","label":"beginner","createdAt":"2022-05-11T10:53:55Z","updatedAt":"2024-05-01T12:41:41Z"},{"n":2898,"title":"Incorrect symbol range from documentSymbol","state":"stale","label":"beginner","createdAt":"2022-05-08T19:11:20Z","updatedAt":"2022-09-07T11:23:55Z"},{"n":2514,"title":"Reduce use of partial functions from HLS","state":"in-progress","label":"beginner","createdAt":"2021-12-20T14:13:04Z","updatedAt":"2024-05-01T12:36:56Z"},{"n":2510,"title":"CI: for fast CI dev flow - build only changed workflows","state":"in-progress","label":"beginner","createdAt":"2021-12-19T16:53:02Z","updatedAt":"2022-07-13T12:01:13Z"},{"n":2348,"title":"Show function argument documentation in hovers","state":"in-progress","label":"beginner","createdAt":"2021-11-11T23:32:24Z","updatedAt":"2023-05-17T12:04:33Z"},{"n":1855,"title":"`add C to the context` code action doesn't appear for instances","state":"stale","label":"beginner","createdAt":"2021-05-21T22:56:01Z","updatedAt":"2022-07-13T12:01:41Z"},{"n":1758,"title":"Inline function at specific use site","state":"stale","label":"beginner","createdAt":"2021-04-19T04:12:33Z","updatedAt":"2023-08-04T10:59:51Z"},{"n":1682,"title":"Add a executable flag/code action to clean out all caches","state":"stale","label":"beginner","createdAt":"2021-04-07T05:35:31Z","updatedAt":"2024-01-11T11:25:45Z"},{"n":1458,"title":"Use custom `CodeActionKind`s to support client-side filtering","state":"in-progress","label":"beginner","createdAt":"2021-02-28T13:11:34Z","updatedAt":"2022-07-13T12:02:01Z"},{"n":659,"title":"CodeLens tries to rename module name to match the filename when the file is listed in the \"main-is\" section of the cabal file","state":"stale","label":"beginner","createdAt":"2020-12-09T10:16:38Z","updatedAt":"2022-07-13T11:54:09Z"},{"n":600,"title":"Add code action to suppress specific hlint warnings","state":"in-progress","label":"beginner","createdAt":"2020-11-14T22:09:49Z","updatedAt":"2024-05-01T12:31:42Z"},{"n":462,"title":"Feature Request: Automatic Expansion of uninitialized record fields","state":"in-progress","label":"beginner","createdAt":"2020-10-04T19:02:19Z","updatedAt":"2024-06-13T10:38:25Z"},{"n":736,"title":"Apply nothunks to ghcide and dependencies","state":"stale","label":"beginner","createdAt":"2020-09-27T10:29:43Z","updatedAt":"2023-05-17T12:02:22Z"},{"n":742,"title":"Give the user a choice of implicit cradle (cabal, stack, etc) if there is more than one","state":"stale","label":"beginner","createdAt":"2020-09-13T17:53:07Z","updatedAt":"2024-01-11T09:38:06Z"}]},"responseWindow":{"hours":[0,3,2,0,0,0,1,3,5,1,1,2,1,4,2,2,0,3,1,0,0,1,0,0,0,0,0,0,0,0,2,2,5,7,5,2,3,1,4,1,5,0,2,0,1,0,1,0,3,0,1,0,0,0,0,5,2,2,0,3,9,2,2,0,0,1,0,2,2,1,1,0,0,0,0,0,0,1,0,1,3,5,2,3,0,3,4,1,1,3,5,3,2,0,0,0,0,0,0,0,0,0,0,6,1,1,4,3,5,1,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,3,5,1,2,4,0,0,2,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,4,1,3,0,1,2,0,2,0,0,0,0,0,0],"people":15,"replies":206},"activeMaintainers":19},"series":[{"week":"2025-10-12","opened":2,"merged":2,"answered7d":2,"activity":5},{"week":"2025-10-19","opened":2,"merged":2,"answered7d":1,"activity":3},{"week":"2025-10-26","opened":0,"merged":0,"answered7d":0,"activity":6},{"week":"2025-11-02","opened":0,"merged":0,"answered7d":0,"activity":1},{"week":"2025-11-09","opened":0,"merged":0,"answered7d":0,"activity":1},{"week":"2025-11-16","opened":0,"merged":0,"answered7d":0,"activity":1},{"week":"2025-11-23","opened":0,"merged":0,"answered7d":0,"activity":10},{"week":"2025-11-30","opened":1,"merged":0,"answered7d":1,"activity":3},{"week":"2025-12-07","opened":0,"merged":0,"answered7d":0,"activity":1},{"week":"2025-12-14","opened":0,"merged":0,"answered7d":0,"activity":2},{"week":"2025-12-21","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2025-12-28","opened":0,"merged":0,"answered7d":0,"activity":1},{"week":"2026-01-04","opened":0,"merged":0,"answered7d":0,"activity":10},{"week":"2026-01-11","opened":1,"merged":1,"answered7d":1,"activity":5},{"week":"2026-01-18","opened":1,"merged":1,"answered7d":1,"activity":40},{"week":"2026-01-25","opened":0,"merged":0,"answered7d":0,"activity":17},{"week":"2026-02-01","opened":4,"merged":4,"answered7d":4,"activity":26},{"week":"2026-02-08","opened":0,"merged":0,"answered7d":0,"activity":18},{"week":"2026-02-15","opened":1,"merged":1,"answered7d":1,"activity":19},{"week":"2026-02-22","opened":5,"merged":4,"answered7d":4,"activity":19},{"week":"2026-03-01","opened":0,"merged":0,"answered7d":0,"activity":26},{"week":"2026-03-08","opened":0,"merged":0,"answered7d":0,"activity":12},{"week":"2026-03-15","opened":1,"merged":1,"answered7d":1,"activity":11},{"week":"2026-03-22","opened":1,"merged":0,"answered7d":1,"activity":12},{"week":"2026-03-29","opened":1,"merged":0,"answered7d":1,"activity":12},{"week":"2026-04-05","opened":0,"merged":0,"answered7d":0,"activity":18},{"week":"2026-04-12","opened":1,"merged":0,"answered7d":1,"activity":21},{"week":"2026-04-19","opened":2,"merged":2,"answered7d":1,"activity":12},{"week":"2026-04-26","opened":0,"merged":0,"answered7d":0,"activity":16},{"week":"2026-05-03","opened":3,"merged":2,"answered7d":3,"activity":25},{"week":"2026-05-10","opened":0,"merged":0,"answered7d":0,"activity":9},{"week":"2026-05-17","opened":0,"merged":0,"answered7d":0,"activity":7},{"week":"2026-05-24","opened":1,"merged":0,"answered7d":0,"activity":3},{"week":"2026-05-31","opened":1,"merged":1,"answered7d":1,"activity":16},{"week":"2026-06-07","opened":7,"merged":5,"answered7d":5,"activity":29},{"week":"2026-06-14","opened":3,"merged":3,"answered7d":3,"activity":33},{"week":"2026-06-21","opened":0,"merged":0,"answered7d":0,"activity":12},{"week":"2026-06-28","opened":3,"merged":2,"answered7d":2,"activity":20},{"week":"2026-07-05","opened":3,"merged":3,"answered7d":3,"activity":16},{"week":"2026-07-12","opened":4,"merged":3,"answered7d":3,"activity":28},{"week":"2026-07-19","opened":0,"merged":0,"answered7d":0,"activity":31},{"week":"2026-07-26","opened":0,"merged":0,"answered7d":0,"activity":27},{"week":"2026-08-02","opened":1,"merged":1,"answered7d":1,"activity":19},{"week":"2026-08-09","opened":0,"merged":0,"answered7d":0,"activity":18},{"week":"2026-08-16","opened":1,"merged":1,"answered7d":1,"activity":5},{"week":"2026-08-23","opened":0,"merged":0,"answered7d":0,"activity":18},{"week":"2026-08-30","opened":0,"merged":0,"answered7d":0,"activity":5},{"week":"2026-09-06","opened":0,"merged":0,"answered7d":0,"activity":15},{"week":"2026-09-13","opened":1,"merged":1,"answered7d":1,"activity":14},{"week":"2026-09-20","opened":1,"merged":0,"answered7d":0,"activity":7},{"week":"2026-09-27","opened":0,"merged":0,"answered7d":0,"activity":7},{"week":"2026-10-04","opened":14,"merged":4,"answered7d":8,"activity":32}],"trend":{"flag":"unknown","recentMedianHours":21.580833333333334,"previousMedianHours":null,"recentN":16,"previousN":1,"openedThisWeek":14,"openedLastWeek":0},"programs":[{"program":"gsoc","slug":"haskellorg","name":"Haskell.org","years":[2024,2025,2026]}]}