Skip to content

Commit

Permalink
merge from main, bump FCS to latest NuGet.org preview
Browse files Browse the repository at this point in the history
  • Loading branch information
baronfel committed Oct 21, 2023
2 parents 1a04de1 + 7f88622 commit 63fa1ad
Show file tree
Hide file tree
Showing 83 changed files with 7,275 additions and 7,515 deletions.
72 changes: 36 additions & 36 deletions .config/dotnet-tools.json
Original file line number Diff line number Diff line change
@@ -1,36 +1,36 @@
{
"version": 1,
"isRoot": true,
"tools": {
"fake-cli": {
"version": "5.23.0",
"commands": [
"fake"
]
},
"paket": {
"version": "7.2.1",
"commands": [
"paket"
]
},
"octonav": {
"version": "0.0.1",
"commands": [
"octonav"
]
},
"dotnet-reportgenerator-globaltool": {
"version": "5.0.2",
"commands": [
"reportgenerator"
]
},
"fantomas": {
"version": "6.1.0",
"commands": [
"fantomas"
]
}
}
}
{
"version": 1,
"isRoot": true,
"tools": {
"fake-cli": {
"version": "5.23.0",
"commands": [
"fake"
]
},
"paket": {
"version": "7.2.1",
"commands": [
"paket"
]
},
"octonav": {
"version": "0.0.1",
"commands": [
"octonav"
]
},
"dotnet-reportgenerator-globaltool": {
"version": "5.0.2",
"commands": [
"reportgenerator"
]
},
"fantomas": {
"version": "6.2.0",
"commands": [
"fantomas"
]
}
}
}
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ insert_final_newline = ignore
[*.md]
trim_trailing_whitespace = false

[*.fs, *.fsx]
[*.{fs,fsx}]
indent_size = 2
fsharp_max_array_or_list_width=80
fsharp_max_dot_get_expression_width=80
Expand Down
96 changes: 96 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
name: 🐛 Bug report
description: Report broken functionality.
labels: [bug]

body:
- type: markdown
attributes:
value: |
- Avoid generic or vague titles such as "Something's not working" or "A couple of problems" — be as descriptive as possible.
- Keep your issue focused on one single problem. If you have multiple bug reports, please create a separate issue for each of them.
- Issues should represent **complete and actionable** work items. If you are unsure about something or have a question, please start a [discussion](https://github.com/fsharp/FsAutoComplete/discussions/new/choose) instead.
- Remember that **FsAutocomplete** is an open-source project funded by the community contributions and free time.
___
- type: input
attributes:
label: Version
description: |
Which version of the package does this bug affect? Make sure you're not using an outdated version.
- If you are using VSCode, the version of Ionide can be used. You can can find this by going to `View -> Extensions -> Ionide for F#`. It will be displayed next to the name at the top.
- If you are using the tool directly, you can find the version by running `dotnet fsautocomplete --version` in your terminal.
placeholder: v1.0.0
validations:
required: true

- type: textarea
attributes:
label: Dotnet Info
description: What is the output of `dotnet --info`?
placeholder: "Paste output here"
validations:
required: true

- type: textarea
attributes:
label: Steps to reproduce
description: >
Minimum steps required to reproduce the bug, including prerequisites, code snippets, or other relevant items.
The information provided in this field must be readily actionable, meaning that anyone should be able to reproduce the bug by following these steps.
If the reproduction steps are too complex to fit in this field, please provide a link to a repository instead.
⚠️ If you don't provide actionable reproduction steps, your issue won't be investigated. ⚠️
placeholder: |
- Step 1
- Step 2
- Step 3
validations:
required: true

- type: textarea
attributes:
label: Details
description: Clear and thorough explanation of the bug, including any additional information you may find relevant.
placeholder: |
- Expected behavior: ...
- Actual behavior: ...
validations:
required: true

- type: textarea
attributes:
label: Logs
description: >
Please add any logs from your LSP client or server that you think might be relevant.
Be sure to look through logs and obfuscate anything you don't want to share.
* For VSCode:
* Enable `FSharp.verboseLogging` and set `FSharp.trace.server` to a higher level
* Then copy output from
* `View -> Output -> Fsharp`
* `View -> Output -> Ionide`
* Any others that you think might be relevant
placeholder: |
- [21:11:05 DEBUG] [LanguageService] FSAC (NETCORE): ...
validations:
required: false

- type: checkboxes
attributes:
label: Checklist
description: Quick list of checks to ensure that everything is in order.
options:
- label: I have looked through existing issues to make sure that this bug has not been reported before
required: true
- label: I have provided a descriptive title for this issue
required: true
- label: I have made sure that that this bug is reproducible on the latest version of the package
required: true
- label: I have provided all the information needed to reproduce this bug as efficiently as possible
required: true
- label: I or my company would be willing to contribute this fix
required: false

- type: markdown
attributes:
value: |
If you are struggling to provide actionable reproduction steps, or if something else is preventing you from creating a complete bug report, please start a [discussion](https://github.com/fsharp/FsAutoComplete/discussions/new/choose) instead.
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: 🗨 Discussions
url: https://github.com/fsharp/FsAutoComplete/discussions/new/choose
about: Ask and answer questions.
- name: 💬 Discord server
url: https://discord.gg/R6n7c54
about: Chat with the community.
34 changes: 34 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: ✨ Feature request
description: Request a new feature.
labels: [enhancement]

body:
- type: markdown
attributes:
value: |
- Avoid generic or vague titles such as "Something's not working" or "A couple of problems" — be as descriptive as possible.
- Keep your issue focused on one single problem. If you have multiple feature requests, please create a separate issue for each of them.
- Issues should represent **complete and actionable** work items. If you are unsure about something or have a question, please start a [discussion](https://github.com/fsharp/FsAutoComplete/discussions/new/choose) instead.
- Remember that **FsAutocomplete** is an open-source project funded by the community contributions and free time.
___
- type: textarea
attributes:
label: Details
description: Clear and thorough explanation of the feature you have in mind.
validations:
required: true

- type: checkboxes
attributes:
label: Checklist
description: Quick list of checks to ensure that everything is in order.
options:
- label: I have looked through existing issues to make sure that this feature has not been requested before
required: true
- label: I have provided a descriptive title for this issue
required: true
- label: I am aware that even valid feature requests may be rejected if they do not align with the project's goals
required: true
- label: I or my company would be willing to contribute this feature
required: false
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ on:
jobs:
build:
env:
TEST_TIMEOUT_MINUTES: 30
TEST_TIMEOUT_MINUTES: 40
FSAC_TEST_DEFAULT_TIMEOUT : 120000 #ms, individual test timeouts
timeout-minutes: 30 # we have a locking issue, so cap the runs at ~20m to account for varying build times, etc
timeout-minutes: 40 # we have a locking issue, so cap the runs at ~20m to account for varying build times, etc
strategy:
matrix:
os: [windows-latest, macos-latest, ubuntu-latest]
Expand Down
71 changes: 71 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,76 @@
# Changelog

## [0.66.1] - 2023-10-15

### Changed

* Fixed a bug in inlay hints generation for constructors and methods that would cause a crash on members with optional or ParamArray parameters.

## [0.66.0] - 2023-10-15

### Removed

* [The following options have been removed from the LSP. The old CLI options will trigger a warning if present, but will not crash the server]((https://github.com/fsharp/FsAutoComplete/pull/1174)) (Thanks @TheAngryByrd!)
* The older, Non-Adaptive LSP implementation (in favor of using the Adaptive LSP server)
* NamedText (in favor of RoslynSourceText)

### Changed

* [The Inlay Hints' Parameter Hints learned how to show parameter hints for constructor arguments and method parameters](https://github.com/fsharp/FsAutoComplete/pull/1176)

## [0.65.0] - 2023-10-09

### Added
- [Incoming Call Hierarchy](https://github.com/fsharp/FsAutoComplete/pull/1164) (thanks @TheAngryByrd!)

### Fixed
- [Ignore requests that would cause circular dependencies in project references](https://github.com/fsharp/FsAutoComplete/pull/1173) (thanks @dawedawe!)

## [0.64.1] - 2023-10-05

### Fixed
- [fix the Define active pattern](https://github.com/fsharp/FsAutoComplete/pull/1170) (thanks @dawedawe!)

## [0.64.0] - 2023-09-27

### Added
- [Add CodeActions for Number Constants: Convert between bases, Add digit group separators](https://github.com/fsharp/FsAutoComplete/pull/1167) (thanks @BooksBaum!)

### Changed
- [Default to RoslynSourceText](https://github.com/fsharp/FsAutoComplete/pull/1168) (thank @TheAngryByrd!)

## [0.63.1] - 2023-09-18

### Fixed
- [fix an expecto test detection](https://github.com/fsharp/FsAutoComplete/pull/1165) (Thanks @TheAngryByrd!)

## [0.63.0] - 2023-09-06

### Added
* [Add support for Expecto theory tests](https://github.com/fsharp/FsAutoComplete/pull/1160) (thanks @Numpsy!)
* [Add Scaffolding for Generating Codefixes](https://github.com/fsharp/FsAutoComplete/pull/1158) (thanks @nojaf!)
### Changed
* [Extract out AST-collecting-walker to a separate function + abstract class](https://github.com/fsharp/FsAutoComplete/pull/1154) (thanks @baronfel!)

### Fixed
* [Fixed File Index out of range issues](https://github.com/fsharp/FsAutoComplete/pull/1152) (thanks @Happypig375!)

## [0.62.0] - 2023-08-21

### Added

* A new flag for controlling FSAC's support of ParallelReferenceResolution - `fsharp.fsac.parallelReferenceResolution`. If true, this allows for more parallelization of the compilation.

### Changed

* Updated Ionide.LanguageServerProtocol to get better LSP 3.17 support
* Updated to FCS 7.0.400!

### Fixed

* [Massively improved the performance of comparing file paths in the LSP server](https://github.com/fsharp/FsAutoComplete/pull/1139) (thanks @TheAngryByrd!)
* [Improved getting declarations in the Adaptive LSP Server](https://github.com/fsharp/FsAutoComplete/pull/1150) (thanks @TheAngryByrd!)


## [0.61.1] - 2023-07-22

Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,10 @@ This repository is prepared to use Gitpod for a web-based VSCode-style IDE. Clic

[![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/fsharp/fsautocomplete)

### Creating a new code fix

Checkout [this guide](./docs/Creating%20a%20new%20code%20fix.md) to start with a new code fix.

## Releasing

* Update CHANGELOG.md with the release notes from the current release in the `Unreleased` section. Use section headings like `Added`, `Fixed`, etc from keepachangelog.com.
Expand Down
15 changes: 1 addition & 14 deletions benchmarks/SourceTextBenchmarks.fs
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,7 @@ module Helpers =

let fileContents = IO.File.ReadAllText(@"C:\Users\jimmy\Repositories\public\TheAngryByrd\span-playground\Romeo and Juliet by William Shakespeare.txt")

let initNamedText () =
FsAutoComplete.NamedText(UMX.tag "lol", fileContents)


let initRoslynSourceText () =
SourceText.From(fileContents)
Expand All @@ -37,10 +36,6 @@ module Helpers =
let newText = sourceText.WithChanges(textSpans)
newText

let addToNamedText (namedText : FsAutoComplete.NamedText, range : Ionide.LanguageServerProtocol.Types.Range, text : string) =
let range = protocolRangeToRange (UMX.untag namedText.FileName) range
match namedText.ModifyText(range, text) with | Ok x -> x | Error e -> failwith e

open BenchmarkDotNet
open BenchmarkDotNet.Attributes
open Helpers
Expand All @@ -52,14 +47,6 @@ type SourceText_LineChanges_Benchmarks ()=
[<Params(1, 15, 50, 100, 1000)>]
member val public N = 0 with get, set

[<Benchmark(Baseline = true)>]
member this.Named_Text_changeText_everyUpdate () =
let mutable file = initNamedText ()
file <- addToNamedText(file, { Start = { Line = 0; Character = 5 }; End = { Line = 0; Character = 5 } }, "World")
for i in 1..this.N do
file <- addToNamedText(file, { Start = { Line = 0; Character = 10 }; End = { Line = 0; Character = 10 } }, "\nLOL")
file.Lines |> Seq.toArray |> ignore

[<Benchmark>]
member this.Roslyn_Text_changeText_everyUpdate () =
let mutable file = initRoslynSourceText ()
Expand Down
Loading

0 comments on commit 63fa1ad

Please sign in to comment.