[R/calc_required_node_time.R:15:1:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/calc_required_node_time.R#L15) *style:* **functions should have cyclomatic complexity of less than 15, this has 17.**
```r
calc_required_node_time <- function(phy,
^
```
[R/calc_required_node_time.R:50:18:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/calc_required_node_time.R#L50) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
           mu / ( (lambda - mu) *
                 ^
```
[R/calc_required_node_time.R:51:16:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/calc_required_node_time.R#L51) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
           exp( (lambda - mu) * t))
               ^
```
[R/calc_required_node_time.R:66:18:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/calc_required_node_time.R#L66) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
           mu / ( (lambda - mu) *
                 ^
```
[R/calc_required_node_time.R:67:16:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/calc_required_node_time.R#L67) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
           exp( (lambda - mu) * t))
               ^
```
[R/calc_summary_statistics.R:25:15:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/calc_summary_statistics.R#L25) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  output <- c( calc_beta(focal_tree),
              ^
```
[R/calc_time_spent_at_node.R:15:1:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/calc_time_spent_at_node.R#L15) *style:* **functions should have cyclomatic complexity of less than 15, this has 22.**
```r
calc_time_spent_at_node <- function(phy,
^
```
[R/calc_time_spent_at_node.R:53:36:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/calc_time_spent_at_node.R#L53) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
                                  ( (lambda - mu) * exp( (lambda - mu) * t))
                                   ^
```
[R/calc_time_spent_at_node.R:53:57:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/calc_time_spent_at_node.R#L53) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
                                  ( (lambda - mu) * exp( (lambda - mu) * t))
                                                        ^
```
[R/calc_time_spent_at_node.R:69:37:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/calc_time_spent_at_node.R#L69) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
                                   ( (lambda - mu) * exp( (lambda - mu) * t))
                                    ^
```
[R/calc_time_spent_at_node.R:69:58:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/calc_time_spent_at_node.R#L69) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
                                   ( (lambda - mu) * exp( (lambda - mu) * t))
                                                         ^
```
[R/count_hidden.R:10:1:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/count_hidden.R#L10) *style:* **Lines should not be more than 80 characters.**
```r
  extinct_species <- tree$tip.label[(num_extant_species+1):length(tree$tip.label)]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/count_hidden.R:10:56:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/count_hidden.R#L10) *style:* **Put spaces around all infix operators.**
```r
  extinct_species <- tree$tip.label[(num_extant_species+1):length(tree$tip.label)]
                                                      ~^~
```
[R/count_hidden.R:20:15:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/count_hidden.R#L20) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
    b <- desc[ desc %in% extinct_species]
              ^
```
[R/count_hidden.R:27:9:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/count_hidden.R#L27) *style:* **Place a space before left parenthesis, except in a function call.**
```r
      if(n == root_node && length(b) == 1)  {
        ^
```
[R/sim_dual_independent.R:1:1:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_independent.R#L1) *style:* **Lines should not be more than 80 characters.**
```r
#' simulate a sequence assuming node substitutions are shared among the offspring
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_dual_independent.R:13:1:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_independent.R#L13) *style:* **functions should have cyclomatic complexity of less than 15, this has 18.**
```r
sim_dual_independent <- function(phy,
^
```
[R/sim_dual_independent.R:14:34:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_independent.R#L14) *style:* **Variable and function name style should be snake_case.**
```r
                                 Q1 = NULL,
                                 ^~
```
[R/sim_dual_independent.R:15:34:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_independent.R#L15) *style:* **Variable and function name style should be snake_case.**
```r
                                 Q2 = NULL,
                                 ^~
```
[R/sim_dual_independent.R:37:20:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_independent.R#L37) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.null(Q1)) Q1 <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
                   ^~
```
[R/sim_dual_independent.R:38:20:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_independent.R#L38) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.null(Q2)) Q2 <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
                   ^~
```
[R/sim_dual_independent.R:41:22:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_independent.R#L41) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q1)) Q1 <- Q1[lower.tri(Q1)]
                     ^~
```
[R/sim_dual_independent.R:42:22:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_independent.R#L42) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q2)) Q2 <- Q2[lower.tri(Q2)]
                     ^~
```
[R/sim_dual_independent.R:71:5:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_independent.R#L71) *style:* **Variable and function name style should be snake_case.**
```r
    P <- get_p_matrix(node_time, eig_q2, rate2)
    ^
```
[R/sim_dual_independent.R:84:5:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_independent.R#L84) *style:* **Variable and function name style should be snake_case.**
```r
    P <- get_p_matrix(tl[i], eig_q1, rate1)
    ^
```
[R/sim_dual_independent.R:104:42:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_independent.R#L104) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  label <- c(phy$tip.label, as.character( (k + 1):num_nodes))
                                         ^
```
[R/sim_dual_independent.R:107:34:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_independent.R#L107) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  alignment_phydat <- phyDat.DNA( as.data.frame(res, stringsAsFactors = FALSE))
                                 ^
```
[R/sim_dual_linked.R:35:1:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_linked.R#L35) *style:* **functions should have cyclomatic complexity of less than 15, this has 17.**
```r
make_transition_matrix <- function(mut_double) {
^
```
[R/sim_dual_linked.R:111:1:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_linked.R#L111) *style:* **functions should have cyclomatic complexity of less than 15, this has 16.**
```r
sim_dual_linked <- function(phy,
^
```
[R/sim_dual_linked.R:112:29:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_linked.R#L112) *style:* **Variable and function name style should be snake_case.**
```r
                            Q = NULL,
                            ^
```
[R/sim_dual_linked.R:132:19:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_linked.R#L132) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.null(Q)) Q <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
                  ^
```
[R/sim_dual_linked.R:135:21:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_linked.R#L135) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q)) Q <- Q[lower.tri(Q)]
                    ^
```
[R/sim_dual_linked.R:187:7:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_linked.R#L187) *style:* **Variable and function name style should be snake_case.**
```r
      P <- get_p_matrix(branch_length, eig_q, rate)
      ^
```
[R/sim_dual_linked.R:207:42:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_linked.R#L207) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  label <- c(phy$tip.label, as.character( (k + 1):num_nodes))
                                         ^
```
[R/sim_dual_parent.R:1:1:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_parent.R#L1) *style:* **Lines should not be more than 80 characters.**
```r
#' simulate a sequence assuming node substitutions are shared among the offspring
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_dual_parent.R:13:1:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_parent.R#L13) *style:* **functions should have cyclomatic complexity of less than 15, this has 18.**
```r
sim_dual_parent <- function(phy,
^
```
[R/sim_dual_parent.R:14:27:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_parent.R#L14) *style:* **Variable and function name style should be snake_case.**
```r
                          Q1 = NULL,
                          ^~
```
[R/sim_dual_parent.R:15:27:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_parent.R#L15) *style:* **Variable and function name style should be snake_case.**
```r
                          Q2 = NULL,
                          ^~
```
[R/sim_dual_parent.R:29:20:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_parent.R#L29) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.null(Q1)) Q1 <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
                   ^~
```
[R/sim_dual_parent.R:30:20:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_parent.R#L30) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.null(Q2)) Q2 <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
                   ^~
```
[R/sim_dual_parent.R:33:22:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_parent.R#L33) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q1)) Q1 <- Q1[lower.tri(Q1)]
                     ^~
```
[R/sim_dual_parent.R:34:22:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_parent.R#L34) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q2)) Q2 <- Q2[lower.tri(Q2)]
                     ^~
```
[R/sim_dual_parent.R:64:5:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_parent.R#L64) *style:* **Variable and function name style should be snake_case.**
```r
    P <- get_p_matrix(node_time, eig_q2, rate2)
    ^
```
[R/sim_dual_parent.R:86:7:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_parent.R#L86) *style:* **Variable and function name style should be snake_case.**
```r
      P <- get_p_matrix(branch_length, eig_q1, rate1)
      ^
```
[R/sim_dual_parent.R:105:42:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_dual_parent.R#L105) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  label <- c(phy$tip.label, as.character( (k + 1):num_nodes))
                                         ^
```
[R/sim_linked.R:12:1:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_linked.R#L12) *style:* **functions should have cyclomatic complexity of less than 15, this has 16.**
```r
sim_linked <- function(phy,
^
```
[R/sim_linked.R:13:24:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_linked.R#L13) *style:* **Variable and function name style should be snake_case.**
```r
                       Q = NULL,
                       ^
```
[R/sim_linked.R:33:19:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_linked.R#L33) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.null(Q)) Q <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
                  ^
```
[R/sim_linked.R:36:21:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_linked.R#L36) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q)) Q <- Q[lower.tri(Q)]
                    ^
```
[R/sim_linked.R:88:7:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_linked.R#L88) *style:* **Variable and function name style should be snake_case.**
```r
      P <- get_p_matrix(branch_length, eig_q, rate)
      ^
```
[R/sim_linked.R:108:42:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_linked.R#L108) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  label <- c(phy$tip.label, as.character( (k + 1):num_nodes))
                                         ^
```
[R/sim_normal.R:31:24:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_normal.R#L31) *style:* **Variable and function name style should be snake_case.**
```r
                       Q = NULL,
                       ^
```
[R/sim_normal.R:43:5:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_normal.R#L43) *style:* **Variable and function name style should be snake_case.**
```r
    Q <- rep(1, lbf * (lbf - 1) / 2)
    ^
```
[R/sim_normal.R:45:21:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_normal.R#L45) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q)) Q <- Q[lower.tri(Q)]
                    ^
```
[R/sim_normal.R:67:5:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_normal.R#L67) *style:* **Variable and function name style should be snake_case.**
```r
    P <- get_p_matrix(tl[i], eig, rate)
    ^
```
[R/sim_normal.R:81:40:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_normal.R#L81) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  label <- c(x$tip.label, as.character( (k + 1):num_nodes))
                                       ^
```
[R/sim_unlinked.R:1:1:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_unlinked.R#L1) *style:* **Lines should not be more than 80 characters.**
```r
#' simulate a sequence assuming node substitutions are shared among the offspring
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_unlinked.R:13:1:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_unlinked.R#L13) *style:* **functions should have cyclomatic complexity of less than 15, this has 18.**
```r
sim_unlinked <- function(phy,
^
```
[R/sim_unlinked.R:14:26:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_unlinked.R#L14) *style:* **Variable and function name style should be snake_case.**
```r
                         Q1 = NULL,
                         ^~
```
[R/sim_unlinked.R:15:26:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_unlinked.R#L15) *style:* **Variable and function name style should be snake_case.**
```r
                         Q2 = NULL,
                         ^~
```
[R/sim_unlinked.R:37:20:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_unlinked.R#L37) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.null(Q1)) Q1 <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
                   ^~
```
[R/sim_unlinked.R:38:20:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_unlinked.R#L38) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.null(Q2)) Q2 <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
                   ^~
```
[R/sim_unlinked.R:41:22:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_unlinked.R#L41) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q1)) Q1 <- Q1[lower.tri(Q1)]
                     ^~
```
[R/sim_unlinked.R:42:22:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_unlinked.R#L42) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q2)) Q2 <- Q2[lower.tri(Q2)]
                     ^~
```
[R/sim_unlinked.R:71:5:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_unlinked.R#L71) *style:* **Variable and function name style should be snake_case.**
```r
    P <- get_p_matrix(node_time, eig_q2, rate2)
    ^
```
[R/sim_unlinked.R:84:5:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_unlinked.R#L84) *style:* **Variable and function name style should be snake_case.**
```r
    P <- get_p_matrix(tl[i], eig_q1, rate1)
    ^
```
[R/sim_unlinked.R:104:42:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_unlinked.R#L104) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  label <- c(phy$tip.label, as.character( (k + 1):num_nodes))
                                         ^
```
[R/sim_unlinked.R:107:34:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/sim_unlinked.R#L107) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  alignment_phydat <- phyDat.DNA( as.data.frame(res, stringsAsFactors = FALSE))
                                 ^
```
[R/util.R:2:1:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/util.R#L2) *style:* **Variable and function name style should be snake_case.**
```r
fast.table <- function(data) {
^~~~~~~~~~
```
[R/util.R:20:1:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/util.R#L20) *style:* **Variable and function name style should be snake_case.**
```r
phyDat.DNA <- function(data) {
^~~~~~~~~~
```
[R/util.R:35:3:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/util.R#L35) *style:* **Variable and function name style should be snake_case.**
```r
  AC <- matrix(c(c(1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1),
  ^~
```
[R/util.R:43:15:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/util.R#L43) *style:* **There should be a space between right parenthesis and an opening curly brace.**
```r
  if (compress){
              ^~
```
[R/util.R:108:1:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/util.R#L108) *style:* **functions should have cyclomatic complexity of less than 15, this has 23.**
```r
slow_matrix <- function(eig, branch_length, rate) {
^
```
[R/util.R:116:3:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/R/util.R#L116) *style:* **Variable and function name style should be snake_case.**
```r
  P <- matrix(NA, nrow = dim_size, ncol = dim_size)
  ^
```
[tests/testthat/test-calc-dist.R:19:26:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/tests/testthat/test-calc-dist.R#L19) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  testthat::expect_error( calc_dist(seq_node_sub$alignment) )
                         ^
```
[tests/testthat/test-calc-dist.R:19:60:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/tests/testthat/test-calc-dist.R#L19) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  testthat::expect_error( calc_dist(seq_node_sub$alignment) )
                                                           ^
```
[tests/testthat/test-create_equal_alignment.R:22:26:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/tests/testthat/test-create_equal_alignment.R#L22) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  testthat::expect_equal( length(seq_alt$alignment),
                         ^
```
[tests/testthat/test-dual_independent.R:10:3:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/tests/testthat/test-dual_independent.R#L10) *style:* **Variable and function name style should be snake_case.**
```r
  Q_JC <- matrix(1, nrow = 4, ncol = 4)
  ^~~~
```
[tests/testthat/test-dual_parent.R:9:3:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/tests/testthat/test-dual_parent.R#L9) *style:* **Variable and function name style should be snake_case.**
```r
  Q_JC <- matrix(1, nrow = 4, ncol = 4)
  ^~~~
```
[tests/testthat/test-dual-linked.R:9:3:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/tests/testthat/test-dual-linked.R#L9) *style:* **Variable and function name style should be snake_case.**
```r
  Q_JC <- matrix(1, nrow = 4, ncol = 4)
  ^~~~
```
[tests/testthat/test-sim_normal.R:20:3:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/tests/testthat/test-sim_normal.R#L20) *style:* **Variable and function name style should be snake_case.**
```r
  Q_JC <- matrix(1, nrow = 4, ncol = 4)
  ^~~~
```
[tests/testthat/test-substitution.R:10:3:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/tests/testthat/test-substitution.R#L10) *style:* **Variable and function name style should be snake_case.**
```r
  Q <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
  ^
```
[tests/testthat/test-substitution.R:13:21:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/tests/testthat/test-substitution.R#L13) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q)) Q <- Q[lower.tri(Q)]
                    ^
```
[tests/testthat/test-substitution.R:29:5:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/tests/testthat/test-substitution.R#L29) *style:* **Variable and function name style should be snake_case.**
```r
    P <- nodeSub::slow_matrix(eig = eig_q,
    ^
```
[tests/testthat/test-substitution.R:84:3:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/tests/testthat/test-substitution.R#L84) *style:* **Variable and function name style should be snake_case.**
```r
  Q <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
  ^
```
[tests/testthat/test-substitution.R:87:21:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/tests/testthat/test-substitution.R#L87) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q)) Q <- Q[lower.tri(Q)]
                    ^
```
[tests/testthat/test-substitution.R:94:3:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/tests/testthat/test-substitution.R#L94) *style:* **Variable and function name style should be snake_case.**
```r
  P1 <- nodeSub::slow_matrix(eig = eig_q,
  ^~
```
[tests/testthat/test-substitution.R:98:3:](https://github.com/thijsjanzen/nodeSub/blob/1cb5575685456e70266ad75006b136943fea7439/tests/testthat/test-substitution.R#L98) *style:* **Variable and function name style should be snake_case.**
```r
  P2 <- get_p_matrix(branch_length, eig_q, rate)
  ^~
```


A proper fix would be consortium's


With that I'm getting this though :(
```
docker: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "exec: \"bob\": executable file not found in $PATH".
```


As above


<details>

<summary>Submitting the task to Taskcluster failed. Details</summary>

Taskcluster-GitHub attempted to create a task for this event with the following scopes:

```
[
  "assume:repo:github.com/djmitche/console-taskgraph:branch:renovate/configure",
  "queue:route:statuses",
  "queue:scheduler-id:taskcluster-github"
]
```

The expansion of these scopes is not sufficient to create the task, leading to the following:

Client ID static/taskcluster/github does not have sufficient scopes and is missing the following scopes:

```
{
  "AnyOf": [
    {
      "AnyOf": [
        "queue:create-task:highest:proj-misc/ci",
        "queue:create-task:very-high:proj-misc/ci",
        "queue:create-task:high:proj-misc/ci",
        "queue:create-task:medium:proj-misc/ci",
        "queue:create-task:low:proj-misc/ci",
        "queue:create-task:very-low:proj-misc/ci",
        "queue:create-task:lowest:proj-misc/ci"
      ]
    },
    {
      "AnyOf": [
        "queue:create-task:proj-misc/ci",
        {
          "AllOf": [
            "queue:define-task:proj-misc/ci",
            "queue:task-group-id:taskcluster-github/TOXu8n-3SGuiYWq4w4urkw",
            "queue:schedule-task:taskcluster-github/TOXu8n-3SGuiYWq4w4urkw/TOXu8n-3SGuiYWq4w4urkw"
          ]
        }
      ]
    }
  ]
}
```

This request requires the client to satisfy the following scope expression:

```
{
  "AllOf": [
    "queue:route:statuses",
    {
      "AnyOf": [
        {
          "AllOf": [
            "queue:scheduler-id:taskcluster-github",
            {
              "AnyOf": [
                "queue:create-task:highest:proj-misc/ci",
                "queue:create-task:very-high:proj-misc/ci",
                "queue:create-task:high:proj-misc/ci",
                "queue:create-task:medium:proj-misc/ci",
                "queue:create-task:low:proj-misc/ci",
                "queue:create-task:very-low:proj-misc/ci",
                "queue:create-task:lowest:proj-misc/ci"
              ]
            }
          ]
        },
        {
          "AnyOf": [
            "queue:create-task:proj-misc/ci",
            {
              "AllOf": [
                "queue:define-task:proj-misc/ci",
                "queue:task-group-id:taskcluster-github/TOXu8n-3SGuiYWq4w4urkw",
                "queue:schedule-task:taskcluster-github/TOXu8n-3SGuiYWq4w4urkw/TOXu8n-3SGuiYWq4w4urkw"
              ]
            }
          ]
        }
      ]
    }
  ]
}
```

---

* method:     createTask
* errorCode:  InsufficientScopes
* statusCode: 403
* time:       2019-11-26T09:00:01.518Z

</details>


<details>

<summary>Submitting the task to Taskcluster failed. Details</summary>

Taskcluster-GitHub attempted to create a task for this event with the following scopes:

```
[
  "assume:repo:github.com/djmitche/console-taskgraph:pull-request",
  "queue:route:statuses",
  "queue:scheduler-id:taskcluster-github"
]
```

The expansion of these scopes is not sufficient to create the task, leading to the following:

Client ID static/taskcluster/github does not have sufficient scopes and is missing the following scopes:

```
{
  "AnyOf": [
    {
      "AnyOf": [
        "queue:create-task:highest:proj-misc/ci",
        "queue:create-task:very-high:proj-misc/ci",
        "queue:create-task:high:proj-misc/ci",
        "queue:create-task:medium:proj-misc/ci",
        "queue:create-task:low:proj-misc/ci",
        "queue:create-task:very-low:proj-misc/ci",
        "queue:create-task:lowest:proj-misc/ci"
      ]
    },
    {
      "AnyOf": [
        "queue:create-task:proj-misc/ci",
        {
          "AllOf": [
            "queue:define-task:proj-misc/ci",
            "queue:task-group-id:taskcluster-github/TfzKrH79TjGRnUyuGMjnDw",
            "queue:schedule-task:taskcluster-github/TfzKrH79TjGRnUyuGMjnDw/TfzKrH79TjGRnUyuGMjnDw"
          ]
        }
      ]
    }
  ]
}
```

This request requires the client to satisfy the following scope expression:

```
{
  "AllOf": [
    "queue:route:statuses",
    {
      "AnyOf": [
        {
          "AllOf": [
            "queue:scheduler-id:taskcluster-github",
            {
              "AnyOf": [
                "queue:create-task:highest:proj-misc/ci",
                "queue:create-task:very-high:proj-misc/ci",
                "queue:create-task:high:proj-misc/ci",
                "queue:create-task:medium:proj-misc/ci",
                "queue:create-task:low:proj-misc/ci",
                "queue:create-task:very-low:proj-misc/ci",
                "queue:create-task:lowest:proj-misc/ci"
              ]
            }
          ]
        },
        {
          "AnyOf": [
            "queue:create-task:proj-misc/ci",
            {
              "AllOf": [
                "queue:define-task:proj-misc/ci",
                "queue:task-group-id:taskcluster-github/TfzKrH79TjGRnUyuGMjnDw",
                "queue:schedule-task:taskcluster-github/TfzKrH79TjGRnUyuGMjnDw/TfzKrH79TjGRnUyuGMjnDw"
              ]
            }
          ]
        }
      ]
    }
  ]
}
```

---

* method:     createTask
* errorCode:  InsufficientScopes
* statusCode: 403
* time:       2019-11-26T09:00:02.749Z

</details>


Great idea! Although I would extend this a bit. Currently, ProtonVPN-CLI needs to be installed via sudo, which is actually discouraged by pip for very valid reasons. If an installation script like this exists, it would be great if it could install ProtonVPN-CLI in a [virtual environment](https://virtualenv.pypa.io/en/latest/). And maybe even have some kind of `protonvpn-update` command that takes over updating for the user.


Successfully deployed to following URLs:

* https://next-practice-eng4khogd.now.sh
* https://nextpractice.now.sh
* https://next-practice.cchpackaging.now.sh
* https://next-practice-git-master.cchpackaging.now.sh


Unreachable code. Remove? @MehaKaushik


not a time bomb


[R/box.R:5:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/box.R#L5) *style:* **Lines should not be more than 120 characters.**
```r
#' @param  color Color of the box. One of \code{c("", "red", "orange", "yellow", "olive", "green", "teal", "blue", "violet", "purple", "pink", "brown", "grey", "black")}
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/box.R:7:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/box.R#L7) *style:* **Lines should not be more than 120 characters.**
```r
#' @param title_side Side of a label. One of \code{c("top", "bottom", "top left", "top right", "bottom left", "bottom right")} if \code{ribbon = FALSE}, or one of \code{c("top left", "top right")} if \code{ribbon = TRUE}
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/column.R:7:30:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/column.R#L7) *style:* **There should be a space between right parenthesis and an opening curly brace.**
```r
column <- function(width, ...){
                             ^~
```
[R/column.R:8:85:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/column.R#L8) *style:* **There should be a space between right parenthesis and an opening curly brace.**
```r
  if (!is.numeric(width) || (width < MIN_COLUMN_WIDTH) || (width > MAX_COLUMN_WIDTH)){
                                                                                ^~
```
[R/constants.R:1:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/constants.R#L1) *style:* **Variable and function name style should be snake_case.**
```r
ALLOWED_COLORS <- c("", "red", "orange", "yellow", "olive", "green", "teal",
^~~~~~~~~~~~~~
```
[R/constants.R:3:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/constants.R#L3) *style:* **Variable and function name style should be snake_case.**
```r
ALLOWED_SIDEBAR_SIZES <- c("", "thin", "very thin", "wide", "very wide")
^~~~~~~~~~~~~~~~~~~~~
```
[R/constants.R:4:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/constants.R#L4) *style:* **Variable and function name style should be snake_case.**
```r
ALLOWED_SIDEBAR_SIDES <- c("left", "right", "top", "bottom")
^~~~~~~~~~~~~~~~~~~~~
```
[R/constants.R:5:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/constants.R#L5) *style:* **Variable and function name style should be snake_case.**
```r
ALLOWED_VALUEBOX_SIZES <- c("mini", "tiny", "small", "", "large", "huge")
^~~~~~~~~~~~~~~~~~~~~~
```
[R/constants.R:6:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/constants.R#L6) *style:* **Variable and function name style should be snake_case.**
```r
ALLOWED_BOX_SIDES_NONRIBBON <- c("top", "bottom", "top left", "top right", "bottom left", "bottom right")
^~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/constants.R:7:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/constants.R#L7) *style:* **Variable and function name style should be snake_case.**
```r
ALLOWED_BOX_SIDES_RIBBON <- c("top left", "top right")
^~~~~~~~~~~~~~~~~~~~~~~~
```
[R/constants.R:8:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/constants.R#L8) *style:* **Variable and function name style should be snake_case.**
```r
COLUMN_WIDTHS <-   c("", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten",
^~~~~~~~~~~~~
```
[R/constants.R:10:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/constants.R#L10) *style:* **Variable and function name style should be snake_case.**
```r
MIN_COLUMN_WIDTH <- 1
^~~~~~~~~~~~~~~~
```
[R/constants.R:11:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/constants.R#L11) *style:* **Variable and function name style should be snake_case.**
```r
MAX_COLUMN_WIDTH <- 16
^~~~~~~~~~~~~~~~
```
[R/constants.R:12:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/constants.R#L12) *style:* **Variable and function name style should be snake_case.**
```r
MIN_PROGRESS_VALUE <- 0
^~~~~~~~~~~~~~~~~~
```
[R/constants.R:13:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/constants.R#L13) *style:* **Variable and function name style should be snake_case.**
```r
MAX_PROGRESS_VALUE <- 100
^~~~~~~~~~~~~~~~~~
```
[R/constants.R:15:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/constants.R#L15) *style:* **Variable and function name style should be snake_case.**
```r
DROPDOWN_MENU_ICONS <- list(messages = "mail", notifications = "warning sign", tasks = "tasks")
^~~~~~~~~~~~~~~~~~~
```
[R/dropdown_menu_output.R:15:34:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/dropdown_menu_output.R#L15) *style:* **Variable and function name style should be snake_case.**
```r
dropdown_menu_output <- function(outputId){
                                 ^~~~~~~~
```
[R/dropdown_menu_output.R:15:42:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/dropdown_menu_output.R#L15) *style:* **There should be a space between right parenthesis and an opening curly brace.**
```r
dropdown_menu_output <- function(outputId){
                                         ^~
```
[R/dropdown_menu_output.R:19:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/dropdown_menu_output.R#L19) *style:* **Lines should not be more than 120 characters.**
```r
#' @describeIn dropdown_menu_output Create a dropdown menu output (alias for \code{dropdown_menu_output} for compatibility with \code{shinydashboard})
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/dropdown_menu_output.R:21:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/dropdown_menu_output.R#L21) *style:* **Variable and function name style should be snake_case.**
```r
dropdownMenuOutput <- dropdown_menu_output
^~~~~~~~~~~~~~~~~~
```
[R/dropdown_menu_output.R:27:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/dropdown_menu_output.R#L27) *style:* **Lines should not be more than 120 characters.**
```r
#' @param quoted Is expr a quoted expression (with \code{quote()})? This is useful if you want to save an expression in a variable.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/dropdown_menu_output.R:39:76:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/dropdown_menu_output.R#L39) *style:* **There should be a space between right parenthesis and an opening curly brace.**
```r
render_dropdown_menu <- function(expr, env = parent.frame(), quoted = FALSE){
                                                                           ^~
```
[R/dropdown_menu_output.R:44:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/dropdown_menu_output.R#L44) *style:* **Lines should not be more than 120 characters.**
```r
#' @describeIn render_dropdown_menu Create a dropdown menu output (alias for \code{render_dropdown_menu} for compatibility with \code{shinydashboard})
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/dropdown_menu_output.R:46:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/dropdown_menu_output.R#L46) *style:* **Variable and function name style should be snake_case.**
```r
renderDropdownMenu <- render_dropdown_menu
^~~~~~~~~~~~~~~~~~
```
[R/dropdown_menu.R:34:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/dropdown_menu.R#L34) *style:* **Lines should not be more than 120 characters.**
```r
#' @describeIn dropdown_menu Create a dropdown menu (alias for \code{dropdown_menu} for compatibility with \code{shinydashboard})
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/dropdown_menu.R:36:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/dropdown_menu.R#L36) *style:* **Variable and function name style should be snake_case.**
```r
dropdownMenu <- dropdown_menu
^~~~~~~~~~~~
```
[R/dropdown_menu.R:57:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/dropdown_menu.R#L57) *style:* **Lines should not be more than 120 characters.**
```r
#' @describeIn message_item Create a message item (alias for \code{message_item} for compatibility with \code{shinydashboard})
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/dropdown_menu.R:59:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/dropdown_menu.R#L59) *style:* **Variable and function name style should be snake_case.**
```r
messageItem <- message_item
^~~~~~~~~~~
```
[R/dropdown_menu.R:65:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/dropdown_menu.R#L65) *style:* **Lines should not be more than 120 characters.**
```r
#' @param color Color of the task item. One of \code{c("", "red", "orange", "yellow", "olive", "green", "teal", "blue", "violet", "purple", "pink", "brown", "grey", "black")}
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/dropdown_menu.R:70:46:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/dropdown_menu.R#L70) *style:* **There should be a space between right parenthesis and an opening curly brace.**
```r
task_item <- function(text, value, color = ""){
                                             ^~
```
[R/dropdown_menu.R:71:89:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/dropdown_menu.R#L71) *style:* **There should be a space between right parenthesis and an opening curly brace.**
```r
  if (!is.numeric(value) || (value < MIN_PROGRESS_VALUE) || (value > MAX_PROGRESS_VALUE)){
                                                                                ^~
```
[R/dropdown_menu.R:84:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/dropdown_menu.R#L84) *style:* **Variable and function name style should be snake_case.**
```r
taskItem <- task_item
^~~~~~~~
```
[R/dropdown_menu.R:90:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/dropdown_menu.R#L90) *style:* **Lines should not be more than 120 characters.**
```r
#' @param color Color of the notification item. One of \code{c("", "red", "orange", "yellow", "olive", "green", "teal", "blue", "violet", "purple", "pink", "brown", "grey", "black")}
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/dropdown_menu.R:95:65:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/dropdown_menu.R#L95) *style:* **There should be a space between right parenthesis and an opening curly brace.**
```r
notification_item <- function(text, icon = "warning", color = ""){
                                                                ^~
```
[R/dropdown_menu.R:102:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/dropdown_menu.R#L102) *style:* **Lines should not be more than 120 characters.**
```r
#' @describeIn notification_item Create a notification item (alias for \code{notification_item} for compatibility with \code{shinydashboard})
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/dropdown_menu.R:104:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/dropdown_menu.R#L104) *style:* **Variable and function name style should be snake_case.**
```r
notificationItem <- notification_item
^~~~~~~~~~~~~~~~
```
[R/menu_item.R:31:47:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/menu_item.R#L31) *style:* **Variable and function name style should be snake_case.**
```r
menu_item <- function(text, ..., icon = NULL, tabName = NULL, href = NULL, newtab = TRUE) {
                                              ^~~~~~~
```
[R/menu_item.R:38:3:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/menu_item.R#L38) *style:* **Variable and function name style should be snake_case.**
```r
  isTabItem <- FALSE
  ^~~~~~~~~
```
[R/menu_item.R:42:5:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/menu_item.R#L42) *style:* **Variable and function name style should be snake_case.**
```r
    isTabItem <- TRUE
    ^~~~~~~~~
```
[R/menu_item.R:69:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/menu_item.R#L69) *style:* **Variable and function name style should be snake_case.**
```r
menuItem <- menu_item
^~~~~~~~
```
[R/menu_item.R:73:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/menu_item.R#L73) *style:* **Variable and function name style should be snake_case.**
```r
menuSubItem <- menu_item
^~~~~~~~~~~
```
[R/menu_item.R:90:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/menu_item.R#L90) *style:* **Lines should not be more than 120 characters.**
```r
#' @describeIn sidebar_menu Create a sidebar menu (alias for \code{sidebar_menu} for compatibility with \code{shinydashboard})
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/menu_item.R:92:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/menu_item.R#L92) *style:* **Variable and function name style should be snake_case.**
```r
sidebarMenu <- sidebar_menu
^~~~~~~~~~~
```
[R/semantic_dashboard.R:14:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/semantic_dashboard.R#L14) *style:* **Lines should not be more than 120 characters.**
```r
#'   One of \code{c("", "red", "orange", "yellow", "olive", "green", "teal", "blue", "violet", "purple", "pink", "brown", "grey", "black")}
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/semantic_dashboard.R:21:20:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/semantic_dashboard.R#L21) *style:* **There should be a space between right parenthesis and an opening curly brace.**
```r
#' if(interactive()){
                   ^~
```
[R/semantic_dashboard.R:43:75:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/semantic_dashboard.R#L43) *style:* **There should be a space between right parenthesis and an opening curly brace.**
```r
                             color = "", inverted = FALSE, disable = FALSE){
                                                                          ^~
```
[R/semantic_dashboard.R:44:14:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/semantic_dashboard.R#L44) *style:* **There should be a space between right parenthesis and an opening curly brace.**
```r
  if (disable){
             ^~
```
[R/semantic_dashboard.R:63:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/semantic_dashboard.R#L63) *style:* **Lines should not be more than 120 characters.**
```r
#' @describeIn dashboard_header Create a header of a dashboard (alias for \code{dashboard_header} for compatibility with \code{shinydashboard})
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/semantic_dashboard.R:65:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/semantic_dashboard.R#L65) *style:* **Variable and function name style should be snake_case.**
```r
dashboardHeader <- dashboard_header
^~~~~~~~~~~~~~~
```
[R/semantic_dashboard.R:74:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/semantic_dashboard.R#L74) *style:* **Lines should not be more than 120 characters.**
```r
#'   One of \code{c("", "red", "orange", "yellow", "olive", "green", "teal", "blue", "violet", "purple", "pink", "brown", "grey", "black")}
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/semantic_dashboard.R:83:20:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/semantic_dashboard.R#L83) *style:* **There should be a space between right parenthesis and an opening curly brace.**
```r
#' if(interactive()){
                   ^~
```
[R/semantic_dashboard.R:105:78:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/semantic_dashboard.R#L105) *style:* **There should be a space between right parenthesis and an opening curly brace.**
```r
                              center = FALSE, visible = TRUE, disable = FALSE){
                                                                             ^~
```
[R/semantic_dashboard.R:122:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/semantic_dashboard.R#L122) *style:* **Lines should not be more than 120 characters.**
```r
#' @describeIn dashboard_sidebar Create a sidebar of a dashboard (alias for \code{dashboard_sidebar} for compatibility with \code{shinydashboard})
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/semantic_dashboard.R:124:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/semantic_dashboard.R#L124) *style:* **Variable and function name style should be snake_case.**
```r
dashboardSidebar <- dashboard_sidebar
^~~~~~~~~~~~~~~~
```
[R/semantic_dashboard.R:133:20:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/semantic_dashboard.R#L133) *style:* **There should be a space between right parenthesis and an opening curly brace.**
```r
#' if(interactive()){
                   ^~
```
[R/semantic_dashboard.R:154:31:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/semantic_dashboard.R#L154) *style:* **There should be a space between right parenthesis and an opening curly brace.**
```r
dashboard_body <- function(...){
                              ^~
```
[R/semantic_dashboard.R:161:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/semantic_dashboard.R#L161) *style:* **Lines should not be more than 120 characters.**
```r
#' @describeIn dashboard_body Create a body of a dashboard (alias for \code{dashboard_body} for compatibility with \code{shinydashboard})
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/semantic_dashboard.R:163:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/semantic_dashboard.R#L163) *style:* **Variable and function name style should be snake_case.**
```r
dashboardBody <- dashboard_body
^~~~~~~~~~~~~
```
[R/semantic_dashboard.R:172:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/semantic_dashboard.R#L172) *style:* **Lines should not be more than 120 characters.**
```r
#' @param suppress_bootstrap There are some conflicts in CSS styles between SemanticUI and Bootstrap. For the time being it's better to suppress Bootstrap. If \code{TRUE} bootstrap dependency from \code{shiny} will be disabled.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/semantic_dashboard.R:176:20:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/semantic_dashboard.R#L176) *style:* **There should be a space between right parenthesis and an opening curly brace.**
```r
#' if(interactive()){
                   ^~
```
[R/semantic_dashboard.R:207:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/semantic_dashboard.R#L207) *style:* **Lines should not be more than 120 characters.**
```r
#' @describeIn dashboard_page Create a dashboard (alias for \code{dashboard_page} for compatibility with \code{shinydashboard})
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/semantic_dashboard.R:209:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/semantic_dashboard.R#L209) *style:* **Variable and function name style should be snake_case.**
```r
dashboardPage <- dashboard_page
^~~~~~~~~~~~~
```
[R/sidebar_menu_output.R:6:33:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/sidebar_menu_output.R#L6) *style:* **Variable and function name style should be snake_case.**
```r
sidebar_menu_output <- function(outputId){
                                ^~~~~~~~
```
[R/sidebar_menu_output.R:6:41:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/sidebar_menu_output.R#L6) *style:* **There should be a space between right parenthesis and an opening curly brace.**
```r
sidebar_menu_output <- function(outputId){
                                        ^~
```
[R/sidebar_menu_output.R:10:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/sidebar_menu_output.R#L10) *style:* **Lines should not be more than 120 characters.**
```r
#' @describeIn sidebar_menu_output Create a sidebar menu output (alias for \code{sidebar_menu_output} for compatibility with \code{shinydashboard})
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sidebar_menu_output.R:12:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/sidebar_menu_output.R#L12) *style:* **Variable and function name style should be snake_case.**
```r
sidebarMenuOutput <- sidebar_menu_output
^~~~~~~~~~~~~~~~~
```
[R/sidebar_menu_output.R:19:30:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/sidebar_menu_output.R#L19) *style:* **Variable and function name style should be snake_case.**
```r
menu_item_output <- function(outputId){
                             ^~~~~~~~
```
[R/sidebar_menu_output.R:19:38:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/sidebar_menu_output.R#L19) *style:* **There should be a space between right parenthesis and an opening curly brace.**
```r
menu_item_output <- function(outputId){
                                     ^~
```
[R/sidebar_menu_output.R:23:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/sidebar_menu_output.R#L23) *style:* **Lines should not be more than 120 characters.**
```r
#' @describeIn menu_item_output Create a menu item output (alias for \code{menu_item_output} for compatibility with \code{shinydashboard})
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sidebar_menu_output.R:25:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/sidebar_menu_output.R#L25) *style:* **Variable and function name style should be snake_case.**
```r
menuItemOutput <- menu_item_output
^~~~~~~~~~~~~~
```
[R/sidebar_menu_output.R:31:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/sidebar_menu_output.R#L31) *style:* **Lines should not be more than 120 characters.**
```r
#' @param quoted Is expr a quoted expression (with \code{quote()})? This is useful if you want to save an expression in a variable.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sidebar_menu_output.R:34:67:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/sidebar_menu_output.R#L34) *style:* **There should be a space between right parenthesis and an opening curly brace.**
```r
render_menu <- function(expr, env = parent.frame(), quoted = FALSE){
                                                                  ^~
```
[R/sidebar_menu_output.R:39:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/sidebar_menu_output.R#L39) *style:* **Lines should not be more than 120 characters.**
```r
#' @describeIn render_menu Create a menu output (alias for \code{render_menu} for compatibility with \code{shinydashboard})
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sidebar_menu_output.R:41:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/sidebar_menu_output.R#L41) *style:* **Variable and function name style should be snake_case.**
```r
renderMenu <- render_menu
^~~~~~~~~~
```
[R/tab_box.R:5:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/tab_box.R#L5) *style:* **Lines should not be more than 120 characters.**
```r
#' @param color Color of the box. One of \code{c("", "red", "orange", "yellow", "olive", "green", "teal", "blue", "violet", "purple", "pink", "brown", "grey", "black")}
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/tab_box.R:7:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/tab_box.R#L7) *style:* **Lines should not be more than 120 characters.**
```r
#' @param title_side Side of a label. One of \code{c("top", "bottom", "top left", "top right", "bottom left", "bottom right")} if \code{ribbon = FALSE}, or one of \code{c("top left", "top right")} if \code{ribbon = TRUE}
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/tab_box.R:28:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/tab_box.R#L28) *style:* **Variable and function name style should be snake_case.**
```r
tabBox <- tab_box
^~~~~~
```
[R/tab.R:9:22:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/tab.R#L9) *style:* **Variable and function name style should be snake_case.**
```r
tab_item <- function(tabName, ...){
                     ^~~~~~~
```
[R/tab.R:9:34:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/tab.R#L9) *style:* **There should be a space between right parenthesis and an opening curly brace.**
```r
tab_item <- function(tabName, ...){
                                 ^~
```
[R/tab.R:18:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/tab.R#L18) *style:* **Variable and function name style should be snake_case.**
```r
tabItem <- tab_item
^~~~~~~
```
[R/tab.R:30:40:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/tab.R#L30) *style:* **There should be a space between right parenthesis and an opening curly brace.**
```r
tab_items <- function(..., selected = 1){
                                       ^~
```
[R/tab.R:32:83:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/tab.R#L32) *style:* **There should be a space between right parenthesis and an opening curly brace.**
```r
  if (round(selected) < 1 | round(selected) > length(tabs) | !is.numeric(selected)){
                                                                                ^~
```
[R/tab.R:42:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/tab.R#L42) *style:* **Lines should not be more than 120 characters.**
```r
#' @describeIn tab_items Create a panel with tabs (alias for \code{tab_items} for compatibility with \code{shinydashboard})
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/tab.R:44:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/tab.R#L44) *style:* **Variable and function name style should be snake_case.**
```r
tabItems <- tab_items
^~~~~~~~
```
[R/utils.R:4:25:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/utils.R#L4) *style:* **There should be a space between right parenthesis and an opening curly brace.**
```r
  if (!(var %in% values)){
                        ^~
```
[R/utils.R:18:22:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/utils.R#L18) *warning:* **Avoid 1:length(...) expressions, use seq_len.**
```r
  dividers <- lapply(1:length(elements), function(i) shiny::tags$div(class = "divider"))
                     ^
```
[R/value_box_output.R:20:30:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/value_box_output.R#L20) *style:* **Variable and function name style should be snake_case.**
```r
value_box_output <- function(outputId, width = 5){
                             ^~~~~~~~
```
[R/value_box_output.R:20:49:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/value_box_output.R#L20) *style:* **There should be a space between right parenthesis and an opening curly brace.**
```r
value_box_output <- function(outputId, width = 5){
                                                ^~
```
[R/value_box_output.R:24:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/value_box_output.R#L24) *style:* **Lines should not be more than 120 characters.**
```r
#' @describeIn value_box_output Create a valueBox output (alias for \code{value_box_output} for compatibility with \code{shinydashboard})
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/value_box_output.R:26:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/value_box_output.R#L26) *style:* **Variable and function name style should be snake_case.**
```r
valueBoxOutput <- value_box_output
^~~~~~~~~~~~~~
```
[R/value_box_output.R:28:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/value_box_output.R#L28) *style:* **Lines should not be more than 120 characters.**
```r
#' @describeIn value_box_output Create a valueBox output (alias for \code{value_box_output} for compatibility with \code{shinydashboard})
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/value_box_output.R:30:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/value_box_output.R#L30) *style:* **Variable and function name style should be snake_case.**
```r
infoBoxOutput <- value_box_output
^~~~~~~~~~~~~
```
[R/value_box_output.R:36:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/value_box_output.R#L36) *style:* **Lines should not be more than 120 characters.**
```r
#' @param quoted Is expr a quoted expression (with \code{quote()})? This is useful if you want to save an expression in a variable.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/value_box_output.R:52:72:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/value_box_output.R#L52) *style:* **There should be a space between right parenthesis and an opening curly brace.**
```r
render_value_box <- function(expr, env = parent.frame(), quoted = FALSE){
                                                                       ^~
```
[R/value_box_output.R:57:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/value_box_output.R#L57) *style:* **Lines should not be more than 120 characters.**
```r
#' @describeIn render_value_box Create a value box output (alias for \code{render_value_box} for compatibility with \code{shinydashboard})
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/value_box_output.R:59:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/value_box_output.R#L59) *style:* **Variable and function name style should be snake_case.**
```r
renderValueBox <- render_value_box
^~~~~~~~~~~~~~
```
[R/value_box_output.R:61:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/value_box_output.R#L61) *style:* **Lines should not be more than 120 characters.**
```r
#' @describeIn render_value_box Create a value box output (alias for \code{render_value_box} for compatibility with \code{shinydashboard})
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/value_box_output.R:63:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/value_box_output.R#L63) *style:* **Variable and function name style should be snake_case.**
```r
renderInfoBox <- render_value_box
^~~~~~~~~~~~~
```
[R/value_box.R:6:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/value_box.R#L6) *style:* **Lines should not be more than 120 characters.**
```r
#' @param  color Color of the valueBox. One of \code{c("", "red", "orange", "yellow", "olive", "green", "teal", "blue", "violet", "purple", "pink", "brown", "grey", "black")}
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/value_box.R:13:89:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/value_box.R#L13) *style:* **There should be a space between right parenthesis and an opening curly brace.**
```r
value_box <- function(subtitle, value, icon = NULL, color = "blue", width = 5, size = ""){
                                                                                ^~
```
[R/value_box.R:25:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/value_box.R#L25) *style:* **Variable and function name style should be snake_case.**
```r
valueBox <- value_box
^~~~~~~~
```
[R/value_box.R:29:1:](https://github.com/Appsilon/semantic.dashboard/blob/1d8b7f7306da94abec359481de350a49a558a40d/R/value_box.R#L29) *style:* **Variable and function name style should be snake_case.**
```r
infoBox <- value_box
^~~~~~~
```


Hi @acebes,

I changed it, because GPL-3 is too restrictive license and developers or companies would have problems to use it for their rules of use.
So I think Apache 2.0 is a better license to reach to all, and increase the framework use.

The framework still mine. 😄


Yes it is a breaking change, and it is unfortunate but on the other hand this was arguably a mistake from the start, and we're only 1 point release from that start. Later in the maintenance cycle it would be a very different story. Not to ignore this is also the middle of a chained API that would only become an issue with a local `RSocketRequester.RequestSpec` variable after a call to `.data`, which is probably a low likelihood.


Would this mean that the CLI arguments are removed entirely and would be replaced by generated code that sets the parameters to a fixed value? So the resulting binary would for instance have a fixed timeout that would not be confgurable after compilation?


ok


> Неавторизированный рут-пользователь КАЛи-линукса, прекратите пожалуйста коммитить в данный репозиторий. В противном случае будут приняты меры (ban).

А ты кто вообще?


this feature has been implemented for only channels. What about normal retry flow?


@thijsjanzen: I think something was misunderstood here: you let Travis first install nodeSub, so it can check to build nodeSub :grin:.

I hope this helps :+1:


My think is to keep Atreugo open source and free software, following the GNU philosophy, but without copyleft.


My suggestion would be that the code generator sets the defaults. CLI
parameters, if present, would override these.


Successfully deployed to following URLs:

* https://wanders-r0oyrpkn1.now.sh
* https://wanders-omega-six.now.sh
* https://vadrouilles.co
* https://wanders.ys1.now.sh
* https://wanders-git-master.ys1.now.sh


Successfully deployed to following URLs:

* https://next-practice-3tp7dn4ex.now.sh
* https://nextpractice.now.sh
* https://next-practice.cchpackaging.now.sh
* https://next-practice-git-master.cchpackaging.now.sh


again, this logic and test should be in producer. This looks like a leaky abstraction here


🔥 Device tests completed (Failed) on TvOS on [Azure DevOps](https://dev.azure.com/devdiv/DevDiv/_build/index?buildId=3273300)(TvOS): [Html Report](http://xamarin-storage/jenkins/xamarin-macios/master/532059daf6a9a066cf0677b61fc1602d48eebc2f/3273300/device-tests/jenkins-results/tests/index.html) 🔥

# Test results

<details>
<summary>18 tests failed, 95 tests passed.</summary>

## Failed tests

 * monotouch-test/tvOS - device/Debug: Failed
 * monotouch-test/tvOS - device/AssemblyBuildTarget: dylib (debug): Failed
 * monotouch-test/tvOS - device/AssemblyBuildTarget: SDK framework (debug): Failed
 * monotouch-test/tvOS - device/AssemblyBuildTarget: dylib (debug, profiling): Failed
 * monotouch-test/tvOS - device/AssemblyBuildTarget: SDK framework (debug, profiling): Failed
 * monotouch-test/tvOS - device/Release: Failed
 * monotouch-test/tvOS - device/AssemblyBuildTarget: SDK framework (release): Failed
 * monotouch-test/tvOS - device/Debug (dynamic registrar): Failed
 * monotouch-test/tvOS - device/Release (all optimizations): Failed
 * monotouch-test/tvOS - device/Debug (all optimizations): Failed
 * monotouch-test/tvOS - device/Debug: SGenConc: Failed
 * monotouch-test/tvOS - device/Debug (interpreter): Failed
 * monotouch-test/tvOS - device/Debug (interpreter -mscorlib): Failed
 * monotouch-test/tvOS - device/Release (interpreter -mscorlib): Failed
 * link all/tvOS - device/Release: TimedOut
 * link all/tvOS - device/AssemblyBuildTarget: SDK framework (release): TimedOut
 * [NUnit] Mono BCL tests group 2/tvOS - device/Release: TimedOut (MT1032: This application executable might be too large (984 MB) to execute on device. If bitcode was enabled you might want to disable it for development, it is only required to submit applications to Apple.)
 * [NUnit] Mono BCL tests group 2/tvOS - device/AssemblyBuildTarget: SDK framework (release): TimedOut
</details>


Successfully deployed to following URLs:

* https://front-end-v100-f065dq1zg.now.sh
* https://front-end-v100.djaduls.now.sh
* https://front-end-v100-git-master.djaduls.now.sh


Successfully deployed to following URLs:

* https://tokyo-ame-og-d6n542bdl.now.sh
* https://tokyo-ame-og.ofk.now.sh
* https://tokyo-ame-og-git-master.ofk.now.sh


Successfully deployed to following URLs:

* https://pdfswitch-docs-nq1oo5srk.now.sh
* https://pdfswitch-docs.pdfswitch.now.sh
* https://pdfswitch-docs-git-master.pdfswitch.now.sh