in src/ulsp/mapper/lsp_lifecycle.go [275:312]
func AppendServerCapabilitiesWorkspaceFileOperations(primary *protocol.ServerCapabilitiesWorkspaceFileOperations, secondary *protocol.ServerCapabilitiesWorkspaceFileOperations) *protocol.ServerCapabilitiesWorkspaceFileOperations {
if primary == nil && secondary == nil {
return &protocol.ServerCapabilitiesWorkspaceFileOperations{}
} else if primary != nil && secondary == nil {
return primary
} else if primary == nil && secondary != nil {
return secondary
}
result := &protocol.ServerCapabilitiesWorkspaceFileOperations{}
// If both capabilities are blank, do not initialize a new entry.
if primary.DidCreate != nil || secondary.DidCreate != nil {
result.DidCreate = AppendFileOperationRegistrationOptions(primary.DidCreate, secondary.DidCreate)
}
if primary.WillCreate != nil || secondary.WillCreate != nil {
result.WillCreate = AppendFileOperationRegistrationOptions(primary.WillCreate, secondary.WillCreate)
}
if primary.DidRename != nil || secondary.DidRename != nil {
result.DidRename = AppendFileOperationRegistrationOptions(primary.DidRename, secondary.DidRename)
}
if primary.WillRename != nil || secondary.WillRename != nil {
result.WillRename = AppendFileOperationRegistrationOptions(primary.WillRename, secondary.WillRename)
}
if primary.DidDelete != nil || secondary.DidDelete != nil {
result.DidDelete = AppendFileOperationRegistrationOptions(primary.DidDelete, secondary.DidDelete)
}
if primary.WillDelete != nil || secondary.WillDelete != nil {
result.WillDelete = AppendFileOperationRegistrationOptions(primary.WillDelete, secondary.WillDelete)
}
return result
}