1
0
mirror of https://github.com/mgechev/revive.git synced 2024-11-24 08:32:22 +02:00
Commit Graph

876 Commits

Author SHA1 Message Date
Abhinav Gupta
b03e54f617
empty-block: Fix false positive on select {} (#805)
This fixes a false positive reported by revive on the following:

    select {}

This is a way to block the program indefinitely.
It is used in cases like:

- Running a long-running server in a background thread
  and blocking `main` from exiting until the application dies.
  This is something you might do if your process has
  multiple servers/listeners in the same process.

  ```go
  go grpcListenAndServe()
  go httpListenAndServe()
  go logFlusher()

  select {}
  ```

- In programs compiled to WASM to prevent the application from exiting,
  so that the Javascript components may interact with it.

  ```go
  func main() {
    js.Global().Set("foo", foo)
    select {}
  }
  ```

  Without this, one may see an error like,
  "Error: Go program has already exited"

As a workaround, these programs can block forever
by receiving from a throwaway channel (`<-make(chan struct{})`),
but `select {}` is still a completely valid way of doing this,
so supporting it makes sense.

The issue was previously reported in #698 but was closed
because the author was satisfied with a `//nolint` comment.

Now that this rule is part of the default rule set (#799)
the case for addressing the false positive is stronger.

Resolves #804
2023-03-16 13:39:52 -07:00
renovate[bot]
5db07b5c97
fix(deps): update module github.com/fatih/color to v1.15.0 (#803)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-14 16:18:06 -07:00
renovate[bot]
9a00c13773
fix(deps): update module golang.org/x/tools to v0.7.0 (#801)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-14 16:17:53 -07:00
Johan Walles
aea6254fca
Update default rule set to match recommendations (#799)
Before this change, Revive's defaults did not match the recommended
configuration:

https://github.com/mgechev/revive#recommended-configuration

With this change in place, Revive now defaults to following its own
recommendations.
2023-03-14 16:17:36 -07:00
chavacava
6fd2c76c7d
fix issue #520 (#802) 2023-03-14 16:16:12 -07:00
cce
d7bedbd946
add golint's package name MixedCaps rule as in 83fdc39ff7/lint.go (L561-L563) (#797) 2023-02-27 19:56:30 +01:00
renovate[bot]
e8d5df7741
fix(deps): update github.com/chavacava/garif digest to b8c73b2 (#798)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-27 19:50:35 +01:00
Edouard Choinière
cab1184197
Add tags to docker images built by GoReleaser (#794)
fixes Missing tag "latest" on container images uploaded to ghcr.io #786
2023-02-23 12:04:22 +01:00
chavacava
10d4f5fb1c
fix issue #792 (#793) 2023-02-18 10:57:06 +01:00
Vito (Victor Gama)
b2bc00bd75
refactor: Reduce package-comments output scope (#791)
This reduces the amount of lines reported by package-comments by only
reporting the `package XXXXXXX' line, instead of the whole file.
2023-02-17 21:39:51 +01:00
Felipe David
8c2cd33315
fixing comment spacings (#789)
* fixing comments spacing

* Updating comment spacing test cases

* adds test cases for multiline comments

---------

Co-authored-by: chavacava <salvadorcavadini+github@gmail.com>
2023-02-17 21:03:11 +01:00
renovate[bot]
4981346ff9
fix(deps): update module golang.org/x/tools to v0.6.0 (#785)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-14 09:10:15 -08:00
chavacava
a4f4632a3f
fix #781 (#782) 2023-01-26 13:50:35 -08:00
renovate[bot]
54ee9dbcde
fix(deps): update module github.com/fatih/color to v1.14.1 (#783)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-26 13:50:20 -08:00
renovate[bot]
cb6823a888
fix(deps): update module golang.org/x/tools to v0.5.0 (#780)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-09 14:57:01 -08:00
renovate[bot]
b4fd11aa64
fix(deps): update module golang.org/x/tools to v0.4.0 (#777)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-14 16:26:10 -08:00
Miles Delahunty
b87d391ee4
Fix early-return false positive and other tweaks (#776) 2022-11-27 13:23:51 +01:00
renovate[bot]
d5d9da17ec
fix(deps): update module golang.org/x/tools to v0.3.0 (#772)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-11 18:18:49 -08:00
Reza Nikoopour
ae282a54c8
fix off by one issue in line and colums (#773) 2022-11-11 07:47:58 +01:00
Buyanov Vladimir
7b1458a9cb
fix #754 [rule.unhandled-error] change arguments to regexp (#757)
* fix #754 [rule.unhandled-error] change arguments to regexp

* Update unhandled-error-w-ignorelist.go

* Update unhandled-error_test.go

* Update unhandled-error-w-ignorelist.go

* adds config backward compatibility test

* fix #754 [rule.unhandled-error] change arguments to regexp

* fix #754 [rule.unhandled-error] change arguments to regexp

* fix #754 [rule.unhandled-error] change arguments to regexp

Co-authored-by: chavacava <salvadorcavadini+github@gmail.com>
2022-11-09 13:13:52 +01:00
Shubh Karman Singh
5f26378cc2
Comment spacing rule (#761)
* added comment-spacing rule for revive

* added test for comment-spacings rule

* adds comment-spacings rule to the configuration

* renames the source file to match rule name

* adds some tests

* refactor Comment-Spacings Rule to remove whiteList and avoid Panic at empty comment

* refactoring and adds rule configuration

* adds rule documentation

Co-authored-by: chavacava <salvadorcavadini+github@gmail.com>
2022-10-29 19:32:42 +02:00
renovate[bot]
5fd3b2c046
fix(deps): update github.com/chavacava/garif digest to b3ef358 (#767)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-27 14:45:32 +01:00
chavacava
32a0cb8052
Allows inversing the semantics of string-format rule configurations (#765)
* allows negating the regexp

* updates rule documentation

* adds mgechev remarks
2022-10-24 20:48:41 +02:00
chavacava
06881a9f54
speedup branch comparison (#764) 2022-10-24 17:21:48 +02:00
renovate[bot]
55e881a792
fix(deps): update module github.com/burntsushi/toml to v1.2.1 (#766)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-24 17:13:42 +02:00
renovate[bot]
3fe5f99860
fix(deps): update module golang.org/x/tools to v0.2.0 (#763)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-21 15:38:35 +02:00
Buyanov Vladimir
1c3a15caaa
fix #759 [rule.add-constant] change 'ignoreFuncs' expressions in documentation and test (#760) 2022-10-15 11:24:32 +02:00
Buyanov Vladimir
3d83403fb8
fix #751 [rule.add-constant] add ignoreFuncs to exclude constants in … (#756)
* fix #751 [rule.add-constant] add ignoreFuncs to exclude constants in functions

* Update add-constant.go

* Update add-constant.go

* fix #751 [rule.add-constant] add ignoreFuncs to exclude constants in functions

* add details to regex-related errors

Co-authored-by: chavacava <salvadorcavadini+github@gmail.com>
2022-10-13 13:23:23 +02:00
Tom
5cc9e27ddb
docs(README): add missing links and fix a broken one (#758) 2022-10-11 21:32:14 -07:00
Hsing-Yu (David) Chen
b4201ff650
Fix broken link of 'Comment Directives' in README (#753) 2022-10-06 11:05:23 +02:00
Attila Fabian
ec731c068d
go get reference updates (#750) 2022-10-04 10:26:40 +02:00
chavacava
3116818e59
fix bug #736 (#745) 2022-09-10 09:08:17 +02:00
chavacava
7c2ebbda24
fix #744 (#746) 2022-09-05 11:11:45 +02:00
chavacava
553604eace
fix bug #739: empty-lines false positive (#742) 2022-08-27 13:18:17 +02:00
Rafael Madriz
a4add4a769
docs(README): Add neovim support in text editors section (#734)
* add instructions for using revive from neovim
2022-08-20 06:58:47 +02:00
ccoVeille
fa350e6eb8
fix some typos in repository (#728) 2022-08-08 13:48:59 +02:00
ccoVeille
160dfbd4ad
fix documentation (#730)
An entry was missing since banned-characters was added

Closes #729
2022-08-08 13:21:09 +02:00
Ahmed
556d4852f9
release with go 1.19 (#727) 2022-08-07 13:29:40 -07:00
mgechev
238d290ebb Add windows arm64 to the ignore list
The CI build fails for some reason so I moved window_arm64 to the
ignore list.
2022-08-06 20:32:09 -07:00
mgechev
7cd66dc752 Tidy mod file 2022-08-06 19:57:03 -07:00
renovate[bot]
fe7a52dd02
chore(deps): update module go to 1.19 (#715)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-06 19:53:43 -07:00
renovate[bot]
83e66f1647
fix(deps): update module golang.org/x/tools to v0.1.12 (#720)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-06 19:52:47 -07:00
Minko Gechev
71ef7fdcb9
Move to the default importer from gcexportdata (#723) 2022-08-06 09:42:15 +02:00
Steven L
db56db0b6a
Capture yet more bad defer / recover patterns (#719)
* Yet more bad defer / recover patterns

`recover()` is an eternal font of excitement.

* demonstrating another flavor of failure

* removing leftover code

* update documentation

* removes test not related to the rule itself

Co-authored-by: chavacava <salvadorcavadini+github@gmail.com>
2022-07-24 09:34:16 +02:00
Ludovic Fernandez
0f4df1ca40
fix: update go.sum (#714) 2022-07-21 19:46:41 +02:00
Abirdcfly
fcc59adb72
add testing.FailNow and related function to unreachable check (#711)
Signed-off-by: Abirdcfly <fp544037857@gmail.com>
2022-07-20 15:41:31 -07:00
renovate[bot]
20101b3a2d
fix(deps): update module github.com/burntsushi/toml to v1.2.0 (#712)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-20 15:38:36 -07:00
chavacava
60e1ae4a01
adds checks for protobuf struct tags (#707)
* adds checks for protobuf struct tags

* use actual tag numbers as key instead of strings
removes debug println
2022-07-15 11:15:55 -07:00
chavacava
e9d5b48c19
fix #670 (#708) 2022-07-14 15:15:42 +02:00
hulk
8dd3945eaf
Check whether the tag name is duplicate or not (#706)
* Check whether the tag name is duplicate or not

* - minor refactoring
- continues checking tag even if name is repeated

* adds test cases for duplicated tag names

* adds test case with two tag types (json & yaml)

* Fix allow the same tag name in different tag key

* fix checks on protobuf tag names

Co-authored-by: chavacava <salvadorcavadini+github@gmail.com>
2022-07-13 20:26:44 +02:00