[R/assert_DDvTD_wd.R:3:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/assert_DDvTD_wd.R#L3) *style:* **Lines should not be more than 80 characters.**
```r
#' Most functions in DDvTDtools rely on a relative path from DDvTD folder to access data and save files.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/assert_DDvTD_wd.R:9:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/assert_DDvTD_wd.R#L9) *style:* **Variable or function name should be snake_case.**
```r
assert_DDvTD_wd <- function(){
^~~~~~~~~~~~~~~
```
[R/assert_DDvTD_wd.R:12:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/assert_DDvTD_wd.R#L12) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(substr(working_dir, nchar_path-4, nchar_path) != "DDvTD"){
    ^
```
[R/assert_DDvTD_wd.R:12:36:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/assert_DDvTD_wd.R#L12) *style:* **Put spaces around all infix operators.**
```r
  if(substr(working_dir, nchar_path-4, nchar_path) != "DDvTD"){
                                  ~^~
```
[R/assert_DDvTD_wd.R:13:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/assert_DDvTD_wd.R#L13) *style:* **Lines should not be more than 80 characters.**
```r
    stop("Please set working dir to root of DDvTD folder before using DDvTDtools")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/assert_optim.R:9:7:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/assert_optim.R#L9) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  if ( !(optim %in% get_optim_names())){
      ^
```
[R/assert_optim.R:10:57:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/assert_optim.R#L10) *warning:* **no visible global function definition for ‘get_optim_names’**
```r
    stop(cat("'optim' is invalid. Possible inputs are", get_optim_names()))
                                                        ^~~~~~~~~~~~~~~
```
[R/assert_para.R:3:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/assert_para.R#L3) *style:* **Lines should not be more than 80 characters.**
```r
#' @param para numeric or character. A four-digits code specifying a set of parameter values.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/assert_para.R:10:7:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/assert_para.R#L10) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  if ( !(para %in% DDvTDtools::get_para_values())){
      ^
```
[R/assert_sim.R:9:7:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/assert_sim.R#L9) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  if ( !(sim %in% get_sim_names())){
      ^
```
[R/assert_sim.R:10:57:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/assert_sim.R#L10) *warning:* **no visible global function definition for ‘get_sim_names’**
```r
    stop(cat("'optim' is invalid. Possible inputs are", get_sim_names()))
                                                        ^~~~~~~~~~~~~
```
[R/check_convergence_optim.R:2:3:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_convergence_optim.R#L2) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/check_convergence_optim.R:3:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_convergence_optim.R#L3) *style:* **Lines should not be more than 80 characters.**
```r
#' The function reads results files output from run_ML calls and prints whether some
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/check_convergence_optim.R:5:3:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_convergence_optim.R#L5) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/check_convergence_optim.R:6:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_convergence_optim.R#L6) *style:* **Lines should not be more than 80 characters.**
```r
#' @param folder the folder where the results files are stored. All .rds files in the folder are read.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/check_convergence_optim.R:7:3:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_convergence_optim.R#L7) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/check_convergence_optim.R:9:3:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_convergence_optim.R#L9) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/check_convergence_optim.R:13:3:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_convergence_optim.R#L13) *warning:* **no visible global function definition for ‘assert_DDvTD_wd’**
```r
  assert_DDvTD_wd()
  ^~~~~~~~~~~~~~~
```
[R/check_convergence_optim.R:14:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_convergence_optim.R#L14) *style:* **Trailing whitespace is superfluous.**
```r

^~
```
[R/check_convergence_optim.R:16:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_convergence_optim.R#L16) *style:* **Trailing whitespace is superfluous.**
```r

^~
```
[R/check_convergence_optim.R:17:6:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_convergence_optim.R#L17) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  for(file in files_list){
     ^
```
[R/check_convergence_optim.R:19:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_convergence_optim.R#L19) *style:* **Trailing whitespace is superfluous.**
```r

^~~~
```
[R/check_convergence_optim.R:21:7:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_convergence_optim.R#L21) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(length(missing_rows) > 0){
      ^
```
[R/check_convergence_optim.R:24:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_convergence_optim.R#L24) *style:* **Trailing whitespace is superfluous.**
```r

^~~~
```
[R/check_convergence_optim.R:25:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_convergence_optim.R#L25) *style:* **Variable or function name should be snake_case.**
```r
    notConverged <- which(res$hasConverged == FALSE)
    ^~~~~~~~~~~~
```
[R/check_convergence_optim.R:26:7:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_convergence_optim.R#L26) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(length(notConverged > 0)){
      ^
```
[R/check_convergence_optim.R:27:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_convergence_optim.R#L27) *style:* **Lines should not be more than 80 characters.**
```r
      cat(paste("File", file, ": optimisation has not converged for", length(notConverged), "trees\n"))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/check_convergence_optim.R:31:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_convergence_optim.R#L31) *style:* **Trailing blank lines are superfluous.**
```r

^
```
[R/check_duplicated_rows.R:4:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_duplicated_rows.R#L4) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(length(duplicated_rows > 0)){
    ^
```
[R/check_duplicated_rows.R:12:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_duplicated_rows.R#L12) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(return_out){
    ^
```
[R/check_incomplete_rows.R:4:6:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_incomplete_rows.R#L4) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  for(i in seq_along(res$mc)){
     ^
```
[R/check_incomplete_rows.R:5:7:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_incomplete_rows.R#L5) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(anyNA(res[i,])){
      ^
```
[R/check_incomplete_rows.R:5:20:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_incomplete_rows.R#L5) *style:* **Commas should always have a space after.**
```r
    if(anyNA(res[i,])){
                   ^
```
[R/check_incomplete_rows.R:9:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_incomplete_rows.R#L9) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(length(incomplete_rows > 0)){
    ^
```
[R/check_incomplete_rows.R:17:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_incomplete_rows.R#L17) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(return_out){
    ^
```
[R/check_initpars.R:18:3:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_initpars.R#L18) *warning:* **no visible global function definition for ‘assert_optim’**
```r
  assert_optim(optim)
  ^~~~~~~~~~~~
```
[R/check_initpars.R:19:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_initpars.R#L19) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(!is.numeric(init_pars)){stop("brts should be a numeric vector.")}
    ^
```
[R/check_initpars.R:19:29:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_initpars.R#L19) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
  if(!is.numeric(init_pars)){stop("brts should be a numeric vector.")}
                            ^
```
[R/check_initpars.R:19:70:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_initpars.R#L19) *style:* **Closing curly-braces should always be on their own line, unless it's followed by an else.**
```r
  if(!is.numeric(init_pars)){stop("brts should be a numeric vector.")}
                                                                     ^
```
[R/check_initpars.R:20:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_initpars.R#L20) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(!is.numeric(brts)){stop("init_pars should be a numeric vector.")}
    ^
```
[R/check_initpars.R:20:24:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_initpars.R#L20) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
  if(!is.numeric(brts)){stop("init_pars should be a numeric vector.")}
                       ^
```
[R/check_initpars.R:20:70:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_initpars.R#L20) *style:* **Closing curly-braces should always be on their own line, unless it's followed by an else.**
```r
  if(!is.numeric(brts)){stop("init_pars should be a numeric vector.")}
                                                                     ^
```
[R/check_initpars.R:21:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_initpars.R#L21) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(optim == "CR" & length(init_pars) != 2){
    ^
```
[R/check_initpars.R:24:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_initpars.R#L24) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(optim %in% c("DD","TD") & length(init_pars) != 3){
    ^
```
[R/check_initpars.R:24:24:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_initpars.R#L24) *style:* **Commas should always have a space after.**
```r
  if(optim %in% c("DD","TD") & length(init_pars) != 3){
                       ^
```
[R/check_initpars.R:28:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_initpars.R#L28) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(init_pars[1] < 0){ stop("Initial lambda0 has a negative value.") }
    ^
```
[R/check_initpars.R:28:23:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_initpars.R#L28) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
  if(init_pars[1] < 0){ stop("Initial lambda0 has a negative value.") }
                      ^
```
[R/check_initpars.R:28:71:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_initpars.R#L28) *style:* **Closing curly-braces should always be on their own line, unless it's followed by an else.**
```r
  if(init_pars[1] < 0){ stop("Initial lambda0 has a negative value.") }
                                                                      ^
```
[R/check_initpars.R:29:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_initpars.R#L29) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(init_pars[2] < 0){ stop("Initial mu0 has a negative value.") }
    ^
```
[R/check_initpars.R:29:23:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_initpars.R#L29) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
  if(init_pars[2] < 0){ stop("Initial mu0 has a negative value.") }
                      ^
```
[R/check_initpars.R:29:67:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_initpars.R#L29) *style:* **Closing curly-braces should always be on their own line, unless it's followed by an else.**
```r
  if(init_pars[2] < 0){ stop("Initial mu0 has a negative value.") }
                                                                  ^
```
[R/check_initpars.R:30:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_initpars.R#L30) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(init_pars[1] <= init_pars[2]){
    ^
```
[R/check_initpars.R:35:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_initpars.R#L35) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(optim %in% c("DD","TD")){
    ^
```
[R/check_initpars.R:35:24:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_initpars.R#L35) *style:* **Commas should always have a space after.**
```r
  if(optim %in% c("DD","TD")){
                       ^
```
[R/check_initpars.R:37:7:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_initpars.R#L37) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(init_pars[3] < 1){ stop("Initial K must be greater than 1.")}
      ^
```
[R/check_initpars.R:37:25:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_initpars.R#L37) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
    if(init_pars[3] < 1){ stop("Initial K must be greater than 1.")}
                        ^
```
[R/check_initpars.R:37:68:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_initpars.R#L37) *style:* **Closing curly-braces should always be on their own line, unless it's followed by an else.**
```r
    if(init_pars[3] < 1){ stop("Initial K must be greater than 1.")}
                                                                   ^
```
[R/check_initpars.R:39:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_initpars.R#L39) *style:* **Variable or function name should be snake_case.**
```r
    N <- length(brts) + 1
    ^
```
[R/check_initpars.R:40:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_initpars.R#L40) *style:* **Variable or function name should be snake_case.**
```r
    Kprime = init_pars[1] / (init_pars[1] - init_pars[2]) * init_pars[3]
    ^~~~~~
```
[R/check_initpars.R:40:12:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_initpars.R#L40) *style:* **Use <-, not =, for assignment.**
```r
    Kprime = init_pars[1] / (init_pars[1] - init_pars[2]) * init_pars[3]
           ^
```
[R/check_initpars.R:42:28:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_initpars.R#L42) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
    if (ceiling(Kprime) < N ){
                           ^
```
[R/check_initpars.R:45:7:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_initpars.R#L45) *style:* **Variable or function name should be snake_case.**
```r
      Kprime = init_pars[1] / (init_pars[1] - init_pars[2]) * init_pars[3]
      ^~~~~~
```
[R/check_initpars.R:45:14:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_initpars.R#L45) *style:* **Use <-, not =, for assignment.**
```r
      Kprime = init_pars[1] / (init_pars[1] - init_pars[2]) * init_pars[3]
             ^
```
[R/check_loglikelihood_exists.R:3:56:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_loglikelihood_exists.R#L3) *style:* **Commas should always have a space after.**
```r
  missing_loglikelihoods <- which(res$loglik %in% c(NA,-1,-Inf))
                                                       ^
```
[R/check_loglikelihood_exists.R:3:59:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_loglikelihood_exists.R#L3) *style:* **Commas should always have a space after.**
```r
  missing_loglikelihoods <- which(res$loglik %in% c(NA,-1,-Inf))
                                                          ^
```
[R/check_loglikelihood_exists.R:4:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_loglikelihood_exists.R#L4) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(length(missing_loglikelihoods > 0)){
    ^
```
[R/check_loglikelihood_exists.R:12:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_loglikelihood_exists.R#L12) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(return_out){
    ^
```
[R/check_missing_mcs.R:5:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_missing_mcs.R#L5) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(length(missing_mcs > 0)){
    ^
```
[R/check_missing_mcs.R:13:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_missing_mcs.R#L13) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(return_out){
    ^
```
[R/check_missing_mcs.R:20:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/check_missing_mcs.R#L20) *style:* **Trailing blank lines are superfluous.**
```r

^
```
[R/compare_method_bd.R:3:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_bd.R#L3) *style:* **Lines should not be more than 80 characters.**
```r
#' This function runs bd_ML() three times for the 50 first trees in the dataset selected by the arguments.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/compare_method_bd.R:4:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_bd.R#L4) *style:* **Lines should not be more than 80 characters.**
```r
#' Each time a different \code{method} argument is used, among \code{"lsoda"}, \code{"ode45"}, \code{"lsodes"}.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/compare_method_bd.R:13:40:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_bd.R#L13) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
compare_method_bd <- function(sim, para ){
                                       ^
```
[R/compare_method_bd.R:15:17:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_bd.R#L15) *style:* **Use <-, not =, for assignment.**
```r
  method_vector = c("lsoda","ode45","lsodes")
                ^
```
[R/compare_method_bd.R:15:29:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_bd.R#L15) *style:* **Commas should always have a space after.**
```r
  method_vector = c("lsoda","ode45","lsodes")
                            ^
```
[R/compare_method_bd.R:15:37:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_bd.R#L15) *style:* **Commas should always have a space after.**
```r
  method_vector = c("lsoda","ode45","lsodes")
                                    ^
```
[R/compare_method_bd.R:16:11:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_bd.R#L16) *style:* **Use <-, not =, for assignment.**
```r
  rangemc = 1:50
          ^
```
[R/compare_method_bd.R:17:9:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_bd.R#L17) *style:* **Use <-, not =, for assignment.**
```r
  optim = "TD"
        ^
```
[R/compare_method_bd.R:20:18:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_bd.R#L20) *warning:* **no visible global function definition for ‘get_multi_brts’**
```r
  brts_bundle <- get_multi_brts("data/sim/", sim, para, rangemc)
                 ^~~~~~~~~~~~~~
```
[R/compare_method_bd.R:35:14:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_bd.R#L35) *style:* **Use <-, not =, for assignment.**
```r
  outputfile = paste0("method-", sim, "-" , optim ,"-", para, ".RData")
             ^
```
[R/compare_method_bd.R:35:43:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_bd.R#L35) *style:* **Commas should never have a space before.**
```r
  outputfile = paste0("method-", sim, "-" , optim ,"-", para, ".RData")
                                         ~^
```
[R/compare_method_bd.R:35:51:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_bd.R#L35) *style:* **Commas should never have a space before.**
```r
  outputfile = paste0("method-", sim, "-" , optim ,"-", para, ".RData")
                                                 ~^
```
[R/compare_method_bd.R:35:52:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_bd.R#L35) *style:* **Commas should always have a space after.**
```r
  outputfile = paste0("method-", sim, "-" , optim ,"-", para, ".RData")
                                                   ^
```
[R/compare_method_bd.R:37:6:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_bd.R#L37) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  for(mc in rangemc){
     ^
```
[R/compare_method_bd.R:41:17:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_bd.R#L41) *style:* **Use <-, not =, for assignment.**
```r
    initparsopt = para_to_pars(para)[2:4]
                ^
```
[R/compare_method_bd.R:41:19:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_bd.R#L41) *warning:* **no visible global function definition for ‘para_to_pars’**
```r
    initparsopt = para_to_pars(para)[2:4]
                  ^~~~~~~~~~~~
```
[R/compare_method_bd.R:42:20:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_bd.R#L42) *style:* **Use <-, not =, for assignment.**
```r
    initparsopt[3] = length(brts) + 1
                   ^
```
[R/compare_method_bd.R:44:8:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_bd.R#L44) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    for(i in 1:3){
       ^
```
[R/compare_method_bd.R:45:15:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_bd.R#L45) *style:* **Use <-, not =, for assignment.**
```r
      methode = method_vector[i]
              ^
```
[R/compare_method_bd.R:49:18:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_bd.R#L49) *style:* **Use <-, not =, for assignment.**
```r
      timerstart = proc.time()
                 ^
```
[R/compare_method_bd.R:51:7:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_bd.R#L51) *style:* **Variable or function name should be snake_case.**
```r
      ML_output <- DDD::bd_ML(
      ^~~~~~~~~
```
[R/compare_method_bd.R:53:42:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_bd.R#L53) *style:* **Commas should always have a space after.**
```r
        initparsopt = c(initparsopt[1:2],150),
                                         ^
```
[R/compare_method_dd.R:3:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_dd.R#L3) *style:* **Lines should not be more than 80 characters.**
```r
#' This function runs dd_ML() three times for the 50 first trees in the dataset selected by the arguments.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/compare_method_dd.R:4:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_dd.R#L4) *style:* **Lines should not be more than 80 characters.**
```r
#' Each time a different \code{method} argument is used, among \code{"lsoda"}, \code{"ode45"}, \code{"analytical"}.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/compare_method_dd.R:13:40:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_dd.R#L13) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
compare_method_dd <- function(sim, para ){
                                       ^
```
[R/compare_method_dd.R:15:17:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_dd.R#L15) *style:* **Use <-, not =, for assignment.**
```r
  method_vector = c("lsoda","ode45","analytical")
                ^
```
[R/compare_method_dd.R:15:29:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_dd.R#L15) *style:* **Commas should always have a space after.**
```r
  method_vector = c("lsoda","ode45","analytical")
                            ^
```
[R/compare_method_dd.R:15:37:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_dd.R#L15) *style:* **Commas should always have a space after.**
```r
  method_vector = c("lsoda","ode45","analytical")
                                    ^
```
[R/compare_method_dd.R:16:11:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_dd.R#L16) *style:* **Use <-, not =, for assignment.**
```r
  rangemc = 1:50
          ^
```
[R/compare_method_dd.R:17:9:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_dd.R#L17) *style:* **Use <-, not =, for assignment.**
```r
  optim = "DD"
        ^
```
[R/compare_method_dd.R:20:18:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_dd.R#L20) *warning:* **no visible global function definition for ‘get_multi_brts’**
```r
  brts_bundle <- get_multi_brts("data/sim/", sim, para, rangemc)
                 ^~~~~~~~~~~~~~
```
[R/compare_method_dd.R:35:14:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_dd.R#L35) *style:* **Use <-, not =, for assignment.**
```r
  outputfile = paste0("method-", sim, "-" , optim ,"-", para, ".RData")
             ^
```
[R/compare_method_dd.R:35:43:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_dd.R#L35) *style:* **Commas should never have a space before.**
```r
  outputfile = paste0("method-", sim, "-" , optim ,"-", para, ".RData")
                                         ~^
```
[R/compare_method_dd.R:35:51:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_dd.R#L35) *style:* **Commas should never have a space before.**
```r
  outputfile = paste0("method-", sim, "-" , optim ,"-", para, ".RData")
                                                 ~^
```
[R/compare_method_dd.R:35:52:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_dd.R#L35) *style:* **Commas should always have a space after.**
```r
  outputfile = paste0("method-", sim, "-" , optim ,"-", para, ".RData")
                                                   ^
```
[R/compare_method_dd.R:37:6:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_dd.R#L37) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  for(mc in rangemc){
     ^
```
[R/compare_method_dd.R:41:17:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_dd.R#L41) *style:* **Use <-, not =, for assignment.**
```r
    initparsopt = para_to_pars(para)[2:4]
                ^
```
[R/compare_method_dd.R:41:19:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_dd.R#L41) *warning:* **no visible global function definition for ‘para_to_pars’**
```r
    initparsopt = para_to_pars(para)[2:4]
                  ^~~~~~~~~~~~
```
[R/compare_method_dd.R:42:20:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_dd.R#L42) *style:* **Use <-, not =, for assignment.**
```r
    initparsopt[3] = length(brts) + 1
                   ^
```
[R/compare_method_dd.R:44:8:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_dd.R#L44) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    for(i in 1:3){
       ^
```
[R/compare_method_dd.R:45:15:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_dd.R#L45) *style:* **Use <-, not =, for assignment.**
```r
      methode = method_vector[i]
              ^
```
[R/compare_method_dd.R:49:18:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_dd.R#L49) *style:* **Use <-, not =, for assignment.**
```r
      timerstart = proc.time()
                 ^
```
[R/compare_method_dd.R:51:7:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_dd.R#L51) *style:* **Variable or function name should be snake_case.**
```r
      ML_output <- DDD::bd_ML(
      ^~~~~~~~~
```
[R/compare_method_dd.R:53:42:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/compare_method_dd.R#L53) *style:* **Commas should always have a space after.**
```r
        initparsopt = c(initparsopt[1:2],150),
                                         ^
```
[R/count_errors.R:6:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/count_errors.R#L6) *style:* **Lines should not be more than 80 characters.**
```r
#' @param log_filename a log file to search the errors in. Can be a \code{.txt} or
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/count_errors.R:16:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/count_errors.R#L16) *style:* **Lines should not be more than 80 characters.**
```r
  if(!is.character(log_filename) | !tools::file_ext(log_filename) %in% c("txt", "log")){
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/count_errors.R:16:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/count_errors.R#L16) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(!is.character(log_filename) | !tools::file_ext(log_filename) %in% c("txt", "log")){
    ^
```
[R/count_errors.R:20:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/count_errors.R#L20) *style:* **Lines should not be more than 80 characters.**
```r
  no_conv_error <- "Optimization has not converged. Try again with different initial values."
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/count_errors.R:36:6:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/count_errors.R#L36) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  for(i in seq_along(log_file)){
     ^
```
[R/count_errors.R:39:7:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/count_errors.R#L39) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(log_file[[i]] == paste("Running ML for tree", mc + 1, "")){
      ^
```
[R/count_errors.R:43:8:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/count_errors.R#L43) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    for(j in seq_along(error_templates)){
       ^
```
[R/count_errors.R:44:9:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/count_errors.R#L44) *style:* **Place a space before left parenthesis, except in a function call.**
```r
      if(log_file[[i]] == error_templates[j]){
        ^
```
[R/get_brts.R:3:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_brts.R#L3) *style:* **Lines should not be more than 80 characters.**
```r
#' Read the dataset at specified location and returns branching times for specified tree.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/get_brts.R:5:61:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_brts.R#L5) *style:* **Trailing whitespace is superfluous.**
```r
#' @param sim character, the name of a simulation model. See
                                                            ^
```
[R/get_brts.R:7:76:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_brts.R#L7) *style:* **Trailing whitespace is superfluous.**
```r
#' @param para numeric or character. A four-digits code specifying a set of
                                                                           ^
```
[R/get_brts.R:10:78:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_brts.R#L10) *style:* **Trailing whitespace is superfluous.**
```r
#' @param with_extinct logical. \code{with_extinct = F} for the reconstructed
                                                                             ^
```
[R/get_brts.R:19:3:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_brts.R#L19) *warning:* **no visible global function definition for ‘assert_DDvTD_wd’**
```r
  assert_DDvTD_wd()
  ^~~~~~~~~~~~~~~
```
[R/get_brts.R:20:3:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_brts.R#L20) *warning:* **no visible global function definition for ‘assert_para’**
```r
  assert_para(para)
  ^~~~~~~~~~~
```
[R/get_brts.R:21:3:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_brts.R#L21) *warning:* **no visible global function definition for ‘assert_sim’**
```r
  assert_sim(sim)
  ^~~~~~~~~~
```
[R/get_brts.R:22:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_brts.R#L22) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(!is.numeric(mc) | !mc %in% 1:1000 ){
    ^
```
[R/get_brts.R:22:39:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_brts.R#L22) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  if(!is.numeric(mc) | !mc %in% 1:1000 ){
                                      ^
```
[R/get_brts.R:23:10:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_brts.R#L23) *style:* **Only use double-quotes.**
```r
    stop('mc must be a numeric in 1:1000')
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/get_brts.R:25:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_brts.R#L25) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(!is.logical(with_extinct)){
    ^
```
[R/get_brts.R:26:10:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_brts.R#L26) *style:* **Only use double-quotes.**
```r
    stop('with_extinct must be a logical')
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/get_brts.R:29:12:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_brts.R#L29) *warning:* **no visible global function definition for ‘read_trees’**
```r
  trees <- read_trees(sim = sim, para = para)
           ^~~~~~~~~~
```
[R/get_brts.R:31:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_brts.R#L31) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(any(!mc %in% seq_along(trees))){
    ^
```
[R/get_brts.R:32:10:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_brts.R#L32) *style:* **Only use double-quotes.**
```r
    stop('There is no tree is the file for that mc.')
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/get_brts.R:35:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_brts.R#L35) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(!with_extinct){
    ^
```
[R/get_brts.R:37:24:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_brts.R#L37) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
    brts <- as.numeric( ape::branching.times( trees[[mc]][[1]] ) )
                       ^
```
[R/get_brts.R:37:46:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_brts.R#L37) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
    brts <- as.numeric( ape::branching.times( trees[[mc]][[1]] ) )
                                             ^
```
[R/get_brts.R:37:63:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_brts.R#L37) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
    brts <- as.numeric( ape::branching.times( trees[[mc]][[1]] ) )
                                                              ^
```
[R/get_brts.R:37:65:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_brts.R#L37) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
    brts <- as.numeric( ape::branching.times( trees[[mc]][[1]] ) )
                                                                ^
```
[R/get_brts.R:40:24:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_brts.R#L40) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
    brts <- as.numeric( ape::branching.times( trees[[mc]][[2]] ) )
                       ^
```
[R/get_brts.R:40:46:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_brts.R#L40) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
    brts <- as.numeric( ape::branching.times( trees[[mc]][[2]] ) )
                                             ^
```
[R/get_brts.R:40:63:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_brts.R#L40) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
    brts <- as.numeric( ape::branching.times( trees[[mc]][[2]] ) )
                                                              ^
```
[R/get_brts.R:40:65:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_brts.R#L40) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
    brts <- as.numeric( ape::branching.times( trees[[mc]][[2]] ) )
                                                                ^
```
[R/get_dAIC_DDvTD.R:4:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_dAIC_DDvTD.R#L4) *style:* **Lines should not be more than 80 characters.**
```r
#' @param para numeric or character. A four-digits code specifying a set of parameter values. See \code{get_para_values()} for possible values.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/get_dAIC_DDvTD.R:9:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_dAIC_DDvTD.R#L9) *style:* **Variable or function name should be snake_case.**
```r
get_dAIC_DDvTD <- function(sim, para){
^~~~~~~~~~~~~~
```
[R/get_dAIC_DDvTD.R:10:3:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_dAIC_DDvTD.R#L10) *warning:* **no visible global function definition for ‘assert_DDvTD_wd’**
```r
  assert_DDvTD_wd()
  ^~~~~~~~~~~~~~~
```
[R/get_dAIC_DDvTD.R:11:3:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_dAIC_DDvTD.R#L11) *warning:* **no visible global function definition for ‘assert_sim’**
```r
  assert_sim(sim)
  ^~~~~~~~~~
```
[R/get_dAIC_DDvTD.R:12:3:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_dAIC_DDvTD.R#L12) *warning:* **no visible global function definition for ‘assert_para’**
```r
  assert_para(para)
  ^~~~~~~~~~~
```
[R/get_dAIC_DDvTD.R:14:3:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_dAIC_DDvTD.R#L14) *style:* **Variable or function name should be snake_case.**
```r
  res_DD <- read_optim_table(sim = sim, para = para, optim = "DD")
  ^~~~~~
```
[R/get_dAIC_DDvTD.R:14:13:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_dAIC_DDvTD.R#L14) *warning:* **no visible global function definition for ‘read_optim_table’**
```r
  res_DD <- read_optim_table(sim = sim, para = para, optim = "DD")
            ^~~~~~~~~~~~~~~~
```
[R/get_dAIC_DDvTD.R:15:3:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_dAIC_DDvTD.R#L15) *style:* **Variable or function name should be snake_case.**
```r
  res_TD <- read_optim_table(sim = sim, para = para, optim = "TD")
  ^~~~~~
```
[R/get_dAIC_DDvTD.R:15:13:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_dAIC_DDvTD.R#L15) *warning:* **no visible global function definition for ‘read_optim_table’**
```r
  res_TD <- read_optim_table(sim = sim, para = para, optim = "TD")
            ^~~~~~~~~~~~~~~~
```
[R/get_dAIC_DDvTD.R:17:3:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_dAIC_DDvTD.R#L17) *style:* **Variable or function name should be snake_case.**
```r
  dAIC <- c()
  ^~~~
```
[R/get_dAIC_DDvTD.R:18:6:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_dAIC_DDvTD.R#L18) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  for(mc in 1:1000){
     ^
```
[R/get_dAIC_DDvTD.R:19:72:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_dAIC_DDvTD.R#L19) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
    if (any(c(res_DD$AIC[mc], res_TD$AIC[mc]) %in% c(Inf, -Inf, NA, -1) )){
                                                                       ^
```
[R/get_dAIC_DDvTD.R:20:7:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_dAIC_DDvTD.R#L20) *style:* **Variable or function name should be snake_case.**
```r
      dAIC <- c(dAIC, NA)
      ^~~~
```
[R/get_dAIC_DDvTD.R:22:7:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_dAIC_DDvTD.R#L22) *style:* **Variable or function name should be snake_case.**
```r
      dAIC <-  c(dAIC, res_DD$AIC[mc] - res_TD$AIC[mc])
      ^~~~
```
[R/get_default_initpars.R:30:3:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_default_initpars.R#L30) *warning:* **no visible global function definition for ‘assert_optim’**
```r
  assert_optim(optim)
  ^~~~~~~~~~~~
```
[R/get_default_initpars.R:31:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_default_initpars.R#L31) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(!is.numeric(true_pars)){stop("true_pars should be numeric.")}
    ^
```
[R/get_default_initpars.R:31:29:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_default_initpars.R#L31) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
  if(!is.numeric(true_pars)){stop("true_pars should be numeric.")}
                            ^
```
[R/get_default_initpars.R:31:66:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_default_initpars.R#L31) *style:* **Closing curly-braces should always be on their own line, unless it's followed by an else.**
```r
  if(!is.numeric(true_pars)){stop("true_pars should be numeric.")}
                                                                 ^
```
[R/get_default_initpars.R:32:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_default_initpars.R#L32) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(!is.numeric(brts)){stop("brts should be numeric.")}
    ^
```
[R/get_default_initpars.R:32:24:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_default_initpars.R#L32) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
  if(!is.numeric(brts)){stop("brts should be numeric.")}
                       ^
```
[R/get_default_initpars.R:32:56:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_default_initpars.R#L32) *style:* **Closing curly-braces should always be on their own line, unless it's followed by an else.**
```r
  if(!is.numeric(brts)){stop("brts should be numeric.")}
                                                       ^
```
[R/get_default_initpars.R:34:3:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_default_initpars.R#L34) *style:* **Variable or function name should be snake_case.**
```r
  N <- length(brts) + 1
  ^
```
[R/get_empty_optim_df.R:32:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_empty_optim_df.R#L32) *style:* **Trailing blank lines are superfluous.**
```r

^
```
[R/get_Kprime.R:4:3:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_Kprime.R#L4) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/get_Kprime.R:7:3:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_Kprime.R#L7) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/get_Kprime.R:8:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_Kprime.R#L8) *style:* **Variable or function name should be snake_case.**
```r
get_Kprime <- function(pars){
^~~~~~~~~~
```
[R/get_Kprime.R:9:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_Kprime.R#L9) *style:* **Lines should not be more than 80 characters.**
```r
  if(!is.numeric(pars)|length(pars) != 3){stop("Invalid input. Please check pars argument")}
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/get_Kprime.R:9:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_Kprime.R#L9) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(!is.numeric(pars)|length(pars) != 3){stop("Invalid input. Please check pars argument")}
    ^
```
[R/get_Kprime.R:9:23:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_Kprime.R#L9) *style:* **Put spaces around all infix operators.**
```r
  if(!is.numeric(pars)|length(pars) != 3){stop("Invalid input. Please check pars argument")}
                     ~^~
```
[R/get_Kprime.R:9:42:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_Kprime.R#L9) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
  if(!is.numeric(pars)|length(pars) != 3){stop("Invalid input. Please check pars argument")}
                                         ^
```
[R/get_Kprime.R:9:92:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_Kprime.R#L9) *style:* **Closing curly-braces should always be on their own line, unless it's followed by an else.**
```r
  if(!is.numeric(pars)|length(pars) != 3){stop("Invalid input. Please check pars argument")}
                                                                                ^
```
[R/get_Kprime.R:11:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_Kprime.R#L11) *style:* **Commented code should be removed.**
```r
  # Kprime = la0 * K / (la0 - mu0)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/get_likelihood_along_K.R:21:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_likelihood_along_K.R#L21) *style:* **Variable or function name should be snake_case.**
```r
get_likelihood_along_K <- function(optim,
^~~~~~~~~~~~~~~~~~~~~~
```
[R/get_likelihood_along_K.R:25:29:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_likelihood_along_K.R#L25) *style:* **Variable or function name should be snake_case.**
```r
                            K_seq = seq(10, 1000, by = 10)) {
                            ^~~~~
```
[R/get_likelihood_along_K.R:26:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_likelihood_along_K.R#L26) *style:* **Trailing whitespace is superfluous.**
```r

^~
```
[R/get_likelihood_along_K.R:28:3:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_likelihood_along_K.R#L28) *warning:* **no visible global function definition for ‘assert_optim’**
```r
  assert_optim(optim)
  ^~~~~~~~~~~~
```
[R/get_likelihood_along_K.R:41:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_likelihood_along_K.R#L41) *style:* **Trailing whitespace is superfluous.**
```r

^~
```
[R/get_likelihood_along_K.R:45:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_likelihood_along_K.R#L45) *style:* **Trailing whitespace is superfluous.**
```r

^~
```
[R/get_likelihood_along_K.R:49:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_likelihood_along_K.R#L49) *style:* **Trailing whitespace is superfluous.**
```r

^~~~
```
[R/get_likelihood_along_K.R:51:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_likelihood_along_K.R#L51) *style:* **Trailing whitespace is superfluous.**
```r

^~~~
```
[R/get_likelihood_along_K.R:71:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_likelihood_along_K.R#L71) *style:* **Trailing whitespace is superfluous.**
```r

^~
```
[R/get_LR_DDvTD.R:4:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_LR_DDvTD.R#L4) *style:* **Lines should not be more than 80 characters.**
```r
#' @param para numeric or character. A four-digits code specifying a set of parameter values. See \code{get_para_values()} for possible values.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/get_LR_DDvTD.R:8:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_LR_DDvTD.R#L8) *style:* **Variable or function name should be snake_case.**
```r
get_LR_DDvTD <- function(sim, para){
^~~~~~~~~~~~
```
[R/get_LR_DDvTD.R:9:3:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_LR_DDvTD.R#L9) *warning:* **no visible global function definition for ‘assert_DDvTD_wd’**
```r
  assert_DDvTD_wd()
  ^~~~~~~~~~~~~~~
```
[R/get_LR_DDvTD.R:10:3:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_LR_DDvTD.R#L10) *warning:* **no visible global function definition for ‘assert_sim’**
```r
  assert_sim(sim)
  ^~~~~~~~~~
```
[R/get_LR_DDvTD.R:11:3:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_LR_DDvTD.R#L11) *warning:* **no visible global function definition for ‘assert_para’**
```r
  assert_para(para)
  ^~~~~~~~~~~
```
[R/get_LR_DDvTD.R:13:3:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_LR_DDvTD.R#L13) *style:* **Variable or function name should be snake_case.**
```r
  res_DD <- read_optim_table(sim = sim, para = para, optim = "DD")
  ^~~~~~
```
[R/get_LR_DDvTD.R:13:13:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_LR_DDvTD.R#L13) *warning:* **no visible global function definition for ‘read_optim_table’**
```r
  res_DD <- read_optim_table(sim = sim, para = para, optim = "DD")
            ^~~~~~~~~~~~~~~~
```
[R/get_LR_DDvTD.R:14:3:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_LR_DDvTD.R#L14) *style:* **Variable or function name should be snake_case.**
```r
  res_TD <- read_optim_table(sim = sim, para = para, optim = "TD")
  ^~~~~~
```
[R/get_LR_DDvTD.R:14:13:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_LR_DDvTD.R#L14) *warning:* **no visible global function definition for ‘read_optim_table’**
```r
  res_TD <- read_optim_table(sim = sim, para = para, optim = "TD")
            ^~~~~~~~~~~~~~~~
```
[R/get_LR_DDvTD.R:16:3:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_LR_DDvTD.R#L16) *style:* **Variable or function name should be snake_case.**
```r
  LR <- c()
  ^~
```
[R/get_LR_DDvTD.R:17:6:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_LR_DDvTD.R#L17) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  for(mc in 1:1000){
     ^
```
[R/get_LR_DDvTD.R:18:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_LR_DDvTD.R#L18) *style:* **Lines should not be more than 80 characters.**
```r
    if (any(c(res_DD$loglik[mc], res_TD$loglik[mc]) %in% c(Inf, -Inf, NA, -1) )){
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/get_LR_DDvTD.R:18:78:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_LR_DDvTD.R#L18) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
    if (any(c(res_DD$loglik[mc], res_TD$loglik[mc]) %in% c(Inf, -Inf, NA, -1) )){
                                                                             ^
```
[R/get_LR_DDvTD.R:19:7:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_LR_DDvTD.R#L19) *style:* **Variable or function name should be snake_case.**
```r
      LR <- c(LR, NA)
      ^~
```
[R/get_LR_DDvTD.R:21:7:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_LR_DDvTD.R#L21) *style:* **Variable or function name should be snake_case.**
```r
      LR <-  c(LR, res_DD$loglik[mc] - res_TD$loglik[mc])
      ^~
```
[R/get_multi_brts.R:3:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_multi_brts.R#L3) *style:* **Lines should not be more than 80 characters.**
```r
#' Read the dataset at specified location and returns branching times for multiple trees specified by indices.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/get_multi_brts.R:5:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_multi_brts.R#L5) *style:* **Lines should not be more than 80 characters.**
```r
#' @param sim character, the name of a simulation model. See \code{get_sim_names()} for possible values.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/get_multi_brts.R:6:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_multi_brts.R#L6) *style:* **Lines should not be more than 80 characters.**
```r
#' @param para numeric or character. A four-digits code specifying a set of parameter values. See \code{get_para_values()}
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/get_multi_brts.R:7:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_multi_brts.R#L7) *style:* **Lines should not be more than 80 characters.**
```r
#' @param rangemc numeric vector. The indices of the trees to return branching times from.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/get_multi_brts.R:8:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_multi_brts.R#L8) *style:* **Lines should not be more than 80 characters.**
```r
#' @param with_extinct logical. \code{with_extinct = F} for the reconstructed tree, \code{with_extinct = T} for the complete tree.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/get_multi_brts.R:10:1:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_multi_brts.R#L10) *style:* **Lines should not be more than 80 characters.**
```r
#' @return a list of numerical vectors containing the branching times of the specified trees.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/get_multi_brts.R:16:3:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_multi_brts.R#L16) *warning:* **no visible global function definition for ‘assert_DDvTD_wd’**
```r
  assert_DDvTD_wd()
  ^~~~~~~~~~~~~~~
```
[R/get_multi_brts.R:17:3:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_multi_brts.R#L17) *warning:* **no visible global function definition for ‘assert_para’**
```r
  assert_para(para)
  ^~~~~~~~~~~
```
[R/get_multi_brts.R:18:3:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_multi_brts.R#L18) *warning:* **no visible global function definition for ‘assert_sim’**
```r
  assert_sim(sim)
  ^~~~~~~~~~
```
[R/get_multi_brts.R:19:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_multi_brts.R#L19) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if( is.null(rangemc)) { rangemc <- 1:1000 }
    ^
```
[R/get_multi_brts.R:19:6:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_multi_brts.R#L19) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  if( is.null(rangemc)) { rangemc <- 1:1000 }
     ^
```
[R/get_multi_brts.R:19:25:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_multi_brts.R#L19) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
  if( is.null(rangemc)) { rangemc <- 1:1000 }
                        ^
```
[R/get_multi_brts.R:19:45:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_multi_brts.R#L19) *style:* **Closing curly-braces should always be on their own line, unless it's followed by an else.**
```r
  if( is.null(rangemc)) { rangemc <- 1:1000 }
                                            ^
```
[R/get_multi_brts.R:20:5:](https://github.com/TheoPannetier/DDvTDtools/blob/c938326374c27df8e0f9dff6c29214f6b2a54fe7/R/get_multi_brts.R#L20) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(!is.numeric(rangemc) | any(!rangemc %in% 1:1000 )){
    ^
```


By convention, an event reports on the change, not the new state.


Thanks for fixing this. LGTM.


Adicione um link pro tutorial de php que você criou


I love porn


there no api called `channels.delete` for slack.

there is only --> `channel.archive` for removing the list of channels from the visible interface, but if u need to unarchive we can use `channel.unarchive`


Thanks for the code it's really helpful. I just want to ask if I should edit the code before or after installation?


no. fixed in later commits


The if condition can also be true if the original had blanks but the new one does not.


Now could not deploy this pull request since the `now.json` file does not contain valid JSON.

	Click here to see the contents of `now.json`

{this-is-not-json}

For more information on now.json visit https://zeit.co/docs/features/configuration#now.json.


revert this change, [users still want 2017 support](https://github.com/mike-ward/VSColorOutput/issues/89)


del


@SwapnilSoni1999 much MUI


@joonwonc I did this because the build output of kami contains annoyingly many warnings.

It's not the only way to achieve this, here are some other options which would also be fine for me:

The way I did it, the warnings will be suppressed both when running `make` and also in proof general. If you want them back in proof general, you can pass the `SUPPRESS_WARN` variable I made just to the invocation of `coq_makefile`, but not to `ARGS_NL` so that it won't end up in `_CoqProject`. And if you want the warnings back in the `make` build of kami, you could pass a variable called `COQMF_ARGS` to `coq_makefile` which is empty by default and then bedrock2's Makefile could set it to suppress warnings.


It's me again


Deployment failed with the following error:

~~~
You defined 1 build that did not match any source files (please ensure they are NOT defined in .nowignore):
~~~


add physics in main


> Did you have a chance to test recording via E-MU with your patch?

No. I see... Its`ll need to be checked...


You must have only one file `.gitignore`


Alerod#9144
yeet


Successfully aliased the URL <https://carcassonne-scoreboard-app-r48d97yhr.now.sh> to the following aliases.

* https://carcassonne-scoreboard.now.sh
* https://carcassonne-scoreboard-app-git-master.andreasonny83.now.sh


@ottlinger I don't understand this commit. If you comment this line, then the code won't get analyzed anymore.

IMO, you should keep it, and simplify it to (no need to specify the last 2 parameters):
`mvn clean install sonar:sonar -Dsonar.organization=apache -Dsonar.projectKey=apache_incubator-tamaya`

And you can remove the "`script: - sonar-scanner`" at line #9.


You cannot have one style for client and another for server


Good catch. This is not supposed to be like this.


> I think this doesn't have the intended effect and also isn't necessary in the first place. If I am wrong, then please explain why.

I can't reproduce the problem without the fix now (even going back to the commit before this one), so it indeed seems unnecessary (I remember it reproducing easily from `make emacs-Q`, no clue what might have changed).

> `save-excursion` only preserves point in the buffer that was current when it was called, which in this case is not the temporary buffer in which point may change. `save-excursion` would have to go inside `with-temp-buffer`.

Going by the screenshot in #3541, the problem was (past tense?) the change of point in revision buffer, and then the point is wrong at the `(add-face-text-property beg (point) 'magit-diff-hunk-heading)` line. According to what I wrote in https://github.com/magit/magit/pull/3541#issuecomment-437665399, the window popping up was the trigger, although I would think would only change window-point of the revision buffer window, and so only affect point if the revision buffer's window is also *selected* (which should not happen).


Try `const [ alice, bob, ... ] = accounts;`


Never leave a `({ from: who` to chance.


`const { BN, toWei } = web3.utils;`


Total time before robot completely gives up finding a goal is around 1 minute.


, 0 was a leftover of BalanceChanged, nice catch.

I picked the order of events and actions, because I assumed the transfer was more important. I'll put the events to the end.


A gtkdialog gui with a complex behavior tends to be buggy.

Another example is.............. pmusic.

I was using the pMusic cd player/ripper and at the same time i was
watching the console output. I triggered bugs just by clicking on
buttons, it became unresponsive.

I was reading the pmusic code and i quickly realized that fixing bugs
required a huge amount of time already spent
fixing/rewriting/simplifying/improving many other puppy apps.

When you focus on a single app or a few apps, you tend to make them
big with many features but when you maintain a whole system including
a complete desktop environment, you realize "things", and begin to
undo many things you did, undo many things other people did and
simplify stuff as much as you can, until someone stops you.

That is the logic behind these changes, i deleted many scripts and
woofce is still incredibly big and complex and quite buggy, fixing
some bugs require some deep structural changes.

A system that keeps evolving is something the original puppy was not
designed for. At some point a major breakage could happen.


This is the main function including some features, like adding or deleting income and expense records, calling other functions to achieve certain goals. For example, the users can view their incomes and expenses by different categories, view statistical report ,exchange currency and set budget warning.


You have to add a script that build your server in a dist directory


The first implementation was not a correct way to pass in a void function pointer. The latter denotes "()" which means no parameters function.


we have problem in decimal to binary


@Reason184

Wouldn't it be better to still receive the message "a player with this name is not online."
Even while in ghost? So the player doesn't know the gm is invisible.

Like this;

	if(!canSee)
	{
		player->sendTextMessage(MSG_STATUS_SMALL, "A player with this name is not online.");
	}


You're access balances[-1] here on the first pass


Don't you have a type for that?


there is another parameter restart_times, meaning the maximum number of times a job can restart


Use variable for static string like this one


Idem


the parameter 'cpu' has to be integer due to constraints of the docker engine api


Examen final pendiente de la 7CESE PdM en el que estuve ausente


Whoops :D


asm file


- ok
- Tes fonctions sont parmis un set défini ? Si c'est le cas : `Funcname: 'genotype' | 'coucou' | 'jean-charles'`.
- `arg*=Tuple` ?


Moved image slider code from base.html , as every page extends base.html so every page it fetches the image slider data even though its not needed


Good effort on the assignment Shola. You managed to create the HTML structure using semantic HTML tags.

With the styles there is room for improvement, but I understand you had some problems with your internet connection.

Excellent effort and looking forward to seeing what you come up with in the next project! 👍


The UI option is now available in `dev`.


I'm very confused as to how this comment is on @binarylandscapes' fork of this project, especially since I don't even see this commit in any of their branches. But I was notified since I'm commit author. I'm maintaining my fork of this project at https://github.com/sparkyb/win-10-virtual-desktop-enhancer. The DLL comes from @Ciantic (https://github.com/Ciantic/VirtualDesktopAccessor), but I forked that repo too as https://github.com/sparkyb/VirtualDesktopAccessor to rebuild the DLL and then copy it to the repo with the autohotkey project.


emmm


You haven't to destructure all the props. Use spread operator


Had a lot of trouble with git pulling/commiting hence some commits are done multiple times.


Hmm I'm still get this error related to this line:

```
/usr/local/src/open-zwave/cpp/src/command_classes/DoorLockLogging.cpp: In member function 'virtual bool OpenZWave::DoorLockLogging::HandleMsg(const uint8*, uint32, uint32)':
/usr/local/src/open-zwave/cpp/src/command_classes/DoorLockLogging.cpp:313:48: error: 'char* strncat(char*, const char*, size_t)' output may be truncated copying between 0 and 253 bytes from a string of length 253 [-Werror=stringop-truncation]
                                         strncat(usercode, tmpusercode, sizeof(usercode) - strlen(usercode) - 1 );
                                         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
make[1]: *** [/usr/local/src/open-zwave/cpp/build/support.mk:151: /usr/local/src/open-zwave/.lib/DoorLockLogging.o] Error 1
```


[![Visit Site](https://raw.githubusercontent.com/pantheon-systems/ci-drops-8/0.1.0/data/img/visit-site-36.png)](https://v0-7-rescue-x-base.pantheonsite.io/)

Created multidev environment [v0-7](https://dashboard.pantheon.io/sites/39804e8f-253e-474e-82cf-725b36fddde0#v0-7) for rescue-x-base.


You chose to fix the gas price. Alternatively, you could have asked the price used in the transaction after the fact.


cd写错了


you should not add new pure virtual function to Arduino API base classes. other networking libraries don't implement them. now Ethernet, UIPEthernet and other networking libraries can't be used with this core. esp8266 did it in 2.5.0 and now they fix it for 2.5.1 and now esp32 core developers do the same mistake?


Successfully aliased the URL <https://diego-blog-lxgrbrvgp.now.sh> to the following aliases.

* https://diego.now.sh
* https://diego-blog-git-master.diegofelipevital.now.sh


Nice tip!


no worries - an easy fix, with due gratitude to @alanlzl and @PublicHealthDataGeek for spotting these in the first place.


It's type


I think that type guard should be put in `types` directory


removed wq. added a new wq. updated financial.


You must share types to not maintain it 2 times


may be make the `Ast.children` an optional is better


[![Visit Site](https://raw.githubusercontent.com/pantheon-systems/ci-drops-8/0.1.0/data/img/visit-site-36.png)](https://v0-7-rescue-x-comms.pantheonsite.io/)

Created multidev environment [v0-7](https://dashboard.pantheon.io/sites/9dc3b9a0-4853-4dfd-b01f-6fe8cb0d08fd#v0-7) for rescue-x-comms.


dsdasdasdadasdasd


Successfully aliased the URL <https://react-slidy-f6g06v6y3.now.sh> to the following aliases.

* https://react-slidy.midu.dev
* https://react-slidy-git-master.midudev.now.sh


Successfully aliased the URL <https://vue-paintable-rdhhq75fr.now.sh> to the following aliases.

* https://vue-paintable-git-master.ph1p.now.sh
* https://vue-paintable.now.sh


Successfully aliased the URL <https://flexmasonry-fgpeb6dcg.now.sh> to the following aliases.

* https://flexmasonry-git-master.dev7studios.now.sh
* https://flexmasonry.now.sh


Same problem with TinyGSM after this commit. Doesn't compile anymore.


@JuliaRegistrator register()


Registration pull request created: [JuliaRegistries/General/257](https://github.com/JuliaRegistries/General/pull/257)

After the above pull request is merged, it is recommended that you create
a tag on this repository for the registered package version:
```
git tag -a v0.1.0 -m "<description of version>" 75b311c1768a2073cb1dde996d695d40b3694fcb
git push origin v0.1.0
```


In my mind, when the contract is paused, the participants should still be able to get their balance out. Otherwise the owner can lock everything down, which I don't like.


This file talks about different functions included in our accounting system.


You should do a first commit with Create React App boilerplate to be kind with code reviewer


may be making the `Ast.children` optional is better,  and let the leaf's children be None


Esse commit está sem issue linkada.


友军厚葬


Didn't got this magic


The closing parenthesis should be in the same ident as the open parenthesis line, so in this case:

```python
self.v1_service_list = dyn_client.resources.get(
    api_version='v1', kind='ServiceList'
)
```


Oops, that isn't supported to be pushed. :(


Use instance vs Statc helper class


You rock,man.Thanks for your effort.


same - ident 4 spaces back


Instead of doing these `.div` calculations in the test, I would instead do `const expectedAmount = toWei(new BN(1), "finney");`.


modif for the F2000 test


Type to try the GUI part.


Why not put these messages in a lookup table instead?  Something like (untested):

```c
typedef struct {
    int signum;
    const char* msg;
} sig_msg_t;

static const sig_msg_t outside_sigdie_msgs[] = {
    { SIGILL, "Unhandled SIGILL: An illegal instruction occurred." },
    { SIGABRT, "Unhandled SIGABRT: An abort() occurred." },
    /* ... */
    { 0, "Unknown signal received." }
};

static const sig_msg_t outside_sigdie_msgs[] = {
    /* similar */
    {0, NULL}
}

static inline void sigdie_for_sig(int sig, int inside)
{
    sig_msg_t *msgs;
    sig_msg_t *msg
    sig_reset_defaults();

    if (inside) {
        msgs = inside_sigdie_msgs;
    } else {
        msgs = outside_sigdie_msgs;
    }

    for (msg = msgs; msg->signum != 0; msg++) {
        if (sig == msg->signum) {
            sigdie(sig, msg->msg);
        }
    }

    /* default */
    sigdie(sig, msg->msg);
}
```


Successfully aliased the URL <https://carcassonne-scoreboard-app-pg1w9qhwb.now.sh> to the following aliases.

* https://carcassonne-scoreboard.now.sh
* https://carcassonne-scoreboard-app-git-master.andreasonny83.now.sh


Successfully aliased the URL <https://flexmasonry-c01auai7i.now.sh> to the following aliases.

* https://flexmasonry-git-master.dev7studios.now.sh
* https://flexmasonry.now.sh


✅ [Jenkins job](https://jenkins.internalx.com/job/macios/job/32bit-dialogs/25/display/redirect) (on internal Jenkins) succeeded

✅ [Build succeeded](https://jenkins.internalx.com/job/macios/job/32bit-dialogs/25//console)
✅ Packages: [xamarin.ios-12.11.0.383.pkg](https://bosstoragemirror.blob.core.windows.net/wrench/jenkins/32bit-dialogs/951e495f2898c38ffa9ab02d4bee85dbed30cce8/25/package/xamarin.ios-12.11.0.383.pkg) [xamarin.mac-5.11.0.383.pkg](https://bosstoragemirror.blob.core.windows.net/wrench/jenkins/32bit-dialogs/951e495f2898c38ffa9ab02d4bee85dbed30cce8/25/package/xamarin.mac-5.11.0.383.pkg)
✅ [API Diff (from stable)](http://xamarin-storage/jenkins/xamarin-macios/32bit-dialogs/951e495f2898c38ffa9ab02d4bee85dbed30cce8/25/jenkins-results/api-diff/index.html)
✅ [API Diff (from PR only)](http://xamarin-storage/jenkins/xamarin-macios/32bit-dialogs/951e495f2898c38ffa9ab02d4bee85dbed30cce8/25/jenkins-results/apicomparison/api-diff.html) (no change)
✅ [Generator Diff](http://xamarin-storage/jenkins/xamarin-macios/32bit-dialogs/951e495f2898c38ffa9ab02d4bee85dbed30cce8/25/jenkins-results/generator-diff/index.html) (no change)
✅ [Test run succeeded](http://xamarin-storage/jenkins/xamarin-macios/32bit-dialogs/951e495f2898c38ffa9ab02d4bee85dbed30cce8/25/jenkins-results/tests/index.html)


Move query inside Athena processing class


Successfully aliased the URL <https://flexmasonry-g9ih2b2uh.now.sh> to the following aliases.

* https://flexmasonry-git-master.dev7studios.now.sh
* https://flexmasonry.now.sh


I was actually hinting at emitting the event before the transfer.


Doesn't work!


@vad1m777 why?


public function getBodyHtmlAttribute()

    {

        $Parsedown = new \Parsedown();

        return $Parsedown->text($this->body);

    }


Where do you use prevState?


Good point.
I don't have a perfect answer. It depends on the specs and what you think your users want.


I guess maybe it would be problematic since it's an inline function.  I'm not sure though.


@sparkyb Weird because I didn't get a notification of the original comment, only of your reply to it. I just replaced the dll in my fork from @Ciantic fork back in Jan in https://github.com/binarylandscapes/win-10-virtual-desktop-enhancer/commit/3a160f32311cd6c44894bbfd7744f383ab4272ee and thats literally the only thing ive done so I have something works haha.


```python
services[each.metadata.namespace] = [
    each.metadata.name for each in ret.items if each.metadata.namespace in services
]
```

As a note, if it will be a longer line it would be:

```python
services[each.metadata.namespace] = [
    each.metadata.name for each in ret.items if (
        each.metadata.namespace in services and if some_other_condition
    )
]
```


Thank you very much! I did intend to get them all but missed!


:man_facepalming: 7e5b44a


[![Visit Site](https://raw.githubusercontent.com/pantheon-systems/ci-drops-8/0.1.0/data/img/visit-site-36.png)](https://pr-13-topperstation.pantheonsite.io/)

Created multidev environment [pr-13](https://dashboard.pantheon.io/sites/db5fb5e4-3225-46f0-b0a9-1cc803600c48#pr-13) for topperstation.


please apply the same as in line 57


> > owo
>
> u gay

Die mf


Successfully aliased the URL <https://security-checklist-nhslkkwdyd.now.sh> to the following alias.

* https://securitycheckli.st


Successfully aliased the URL <https://carcassonne-scoreboard-app-8rjj05x9w.now.sh> to the following aliases.

* https://carcassonne-scoreboard.now.sh
* https://carcassonne-scoreboard-app-git-master.andreasonny83.now.sh


Gettery są zbędne


Strictly speaking this code belongs to a newer version of afterburn. In the version shipped with stable `get_oem()` is called with the `flagname` parameter and that parameter is used. Here that parameter is ignored and `CMDLINE_PLATFORM_FLAG` is used when calling `find_flag_value()`.

This means there's some code duplication and we'll accept `ignition.platform.id` whereas upstream stable won't accept it.

This is probably not a big deal since it builds (with a warning) but I'll leave to you the decision of fixing it or leaving it as is.


Po usunięciu getterów, nie będziesz mógł wykonać tych operacji. Powinieneś pobrać beana przez `@Autowired`


- Added webpack bundle analyzer
- Optimized CSS
- Lazy load routes


> @Yasir-siddiqui Much wow

Blame your country for being behind than India. You gay.


M A S T E R P I E C E


试水一下


Successfully aliased the URL <https://diego-blog-v0zwg76e4.now.sh> to the following aliases.

* https://diego.now.sh
* https://diego-blog-git-master.diegofelipevital.now.sh


- Lazy load codemirror
- Move prettier to a hook