mirror of
https://github.com/Adembc/lazyssh.git
synced 2026-07-14 12:13:34 +02:00
fix lint errors
This commit is contained in:
+3
-1
@@ -40,18 +40,20 @@ func main() {
|
|||||||
fmt.Println(err)
|
fmt.Println(err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//nolint:errcheck // log.Sync may return an error which is safe to ignore here
|
||||||
defer log.Sync()
|
defer log.Sync()
|
||||||
|
|
||||||
home, err := os.UserHomeDir()
|
home, err := os.UserHomeDir()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorw("failed to get user home directory", "error", err)
|
log.Errorw("failed to get user home directory", "error", err)
|
||||||
|
//nolint:gocritic // exitAfterDefer: ensure immediate exit on unrecoverable error
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
sshConfigFile := filepath.Join(home, ".ssh", "config")
|
sshConfigFile := filepath.Join(home, ".ssh", "config")
|
||||||
metaDataFile := filepath.Join(home, ".lazyssh", "metadata.json")
|
metaDataFile := filepath.Join(home, ".lazyssh", "metadata.json")
|
||||||
|
|
||||||
serverRepo := file.NewServerRepo(log, sshConfigFile, metaDataFile)
|
serverRepo := file.NewServerRepo(log, sshConfigFile, metaDataFile)
|
||||||
// serverInMemoryRepo := memory.NewServerRepository(log)
|
|
||||||
serverService := services.NewServerService(log, serverRepo)
|
serverService := services.NewServerService(log, serverRepo)
|
||||||
tui := ui.NewTUI(log, serverService, version, gitCommit, buildTime)
|
tui := ui.NewTUI(log, serverService, version, gitCommit, buildTime)
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,9 @@ func (m *sshConfigManager) parseServers() ([]domain.Server, error) {
|
|||||||
}
|
}
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
defer file.Close()
|
defer func() {
|
||||||
|
_ = file.Close()
|
||||||
|
}()
|
||||||
|
|
||||||
parser := &SSHConfigParser{}
|
parser := &SSHConfigParser{}
|
||||||
return parser.Parse(file)
|
return parser.Parse(file)
|
||||||
@@ -58,7 +60,9 @@ func (m *sshConfigManager) writeServers(servers []domain.Server) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
defer file.Close()
|
defer func() {
|
||||||
|
_ = file.Close()
|
||||||
|
}()
|
||||||
|
|
||||||
writer := &SSHConfigWriter{}
|
writer := &SSHConfigWriter{}
|
||||||
return writer.Write(file, servers)
|
return writer.Write(file, servers)
|
||||||
|
|||||||
@@ -26,36 +26,55 @@ type SSHConfigWriter struct{}
|
|||||||
|
|
||||||
func (w *SSHConfigWriter) Write(writer io.Writer, servers []domain.Server) error {
|
func (w *SSHConfigWriter) Write(writer io.Writer, servers []domain.Server) error {
|
||||||
bufWriter := bufio.NewWriter(writer)
|
bufWriter := bufio.NewWriter(writer)
|
||||||
defer bufWriter.Flush()
|
defer func() {
|
||||||
|
_ = bufWriter.Flush()
|
||||||
|
}()
|
||||||
|
|
||||||
fmt.Fprintf(bufWriter, "%s\n\n", ManagedByComment)
|
if _, err := fmt.Fprintf(bufWriter, "%s\n\n", ManagedByComment); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
for i, server := range servers {
|
for i, server := range servers {
|
||||||
if i > 0 {
|
if i > 0 {
|
||||||
bufWriter.WriteString("\n")
|
if _, err := bufWriter.WriteString("\n"); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if err := w.writeServer(bufWriter, server); err != nil {
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
w.writeServer(bufWriter, server)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *SSHConfigWriter) writeServer(writer *bufio.Writer, server domain.Server) {
|
func (w *SSHConfigWriter) writeServer(writer *bufio.Writer, server domain.Server) error {
|
||||||
fmt.Fprintf(writer, "Host %s\n", server.Alias)
|
if _, err := fmt.Fprintf(writer, "Host %s\n", server.Alias); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
if server.Host != "" {
|
if server.Host != "" {
|
||||||
fmt.Fprintf(writer, " HostName %s\n", server.Host)
|
if _, err := fmt.Fprintf(writer, " HostName %s\n", server.Host); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if server.User != "" {
|
if server.User != "" {
|
||||||
fmt.Fprintf(writer, " User %s\n", server.User)
|
if _, err := fmt.Fprintf(writer, " User %s\n", server.User); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if server.Port != 0 && server.Port != DefaultPort {
|
if server.Port != 0 && server.Port != DefaultPort {
|
||||||
fmt.Fprintf(writer, " Port %d\n", server.Port)
|
if _, err := fmt.Fprintf(writer, " Port %d\n", server.Port); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if server.Key != "" {
|
if server.Key != "" {
|
||||||
fmt.Fprintf(writer, " IdentityFile %s\n", server.Key)
|
if _, err := fmt.Fprintf(writer, " IdentityFile %s\n", server.Key); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,10 +30,10 @@ func renderTagBadgesForList(tags []string) string {
|
|||||||
if len(tags) == 0 {
|
if len(tags) == 0 {
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
max := 2
|
maxTags := 2
|
||||||
shown := tags
|
shown := tags
|
||||||
if len(tags) > max {
|
if len(tags) > maxTags {
|
||||||
shown = tags[:max]
|
shown = tags[:maxTags]
|
||||||
}
|
}
|
||||||
parts := make([]string, 0, len(shown)+1)
|
parts := make([]string, 0, len(shown)+1)
|
||||||
for _, t := range shown {
|
for _, t := range shown {
|
||||||
@@ -93,11 +93,12 @@ func humanizeDuration(t time.Time) string {
|
|||||||
func BuildSSHCommand(s domain.Server) string {
|
func BuildSSHCommand(s domain.Server) string {
|
||||||
parts := []string{"ssh"}
|
parts := []string{"ssh"}
|
||||||
userHost := ""
|
userHost := ""
|
||||||
if s.User != "" && s.Host != "" {
|
switch {
|
||||||
|
case s.User != "" && s.Host != "":
|
||||||
userHost = fmt.Sprintf("%s@%s", s.User, s.Host)
|
userHost = fmt.Sprintf("%s@%s", s.User, s.Host)
|
||||||
} else if s.Host != "" {
|
case s.Host != "":
|
||||||
userHost = s.Host
|
userHost = s.Host
|
||||||
} else {
|
default:
|
||||||
userHost = s.Alias
|
userHost = s.Alias
|
||||||
}
|
}
|
||||||
parts = append(parts, userHost)
|
parts = append(parts, userHost)
|
||||||
@@ -114,7 +115,7 @@ func BuildSSHCommand(s domain.Server) string {
|
|||||||
// quoteIfNeeded returns the value quoted if it contains spaces.
|
// quoteIfNeeded returns the value quoted if it contains spaces.
|
||||||
func quoteIfNeeded(val string) string {
|
func quoteIfNeeded(val string) string {
|
||||||
if strings.ContainsAny(val, " \t") {
|
if strings.ContainsAny(val, " \t") {
|
||||||
return fmt.Sprintf("\"%s\"", val)
|
return fmt.Sprintf("%q", val)
|
||||||
}
|
}
|
||||||
return val
|
return val
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ func New(service string, outputPaths ...string) (*zap.SugaredLogger, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
logDir := filepath.Join(home, ".lazyssh")
|
logDir := filepath.Join(home, ".lazyssh")
|
||||||
if err := os.MkdirAll(logDir, 0o755); err != nil {
|
if err := os.MkdirAll(logDir, 0o750); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
config.OutputPaths = []string{filepath.Join(logDir, "lazyssh.log")}
|
config.OutputPaths = []string{filepath.Join(logDir, "lazyssh.log")}
|
||||||
|
|||||||
Reference in New Issue
Block a user